home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Latest Shareware Programs: Warp / OS-2 WARP - Latest Shareware Programs.iso / zipped.os2 / treiber.1 / dvi15f-1.arj / DVIDRV.DOC < prev    next >
Text File  |  1994-09-14  |  219KB  |  5,998 lines

  1. ==============================================================================
  2. DVIDRV 1.5f  BETATEST                                     VERSION: 14-Sep-1994
  3. ==============================================================================
  4.  
  5.  
  6. Table of Contents
  7. =================
  8.  
  9. 1        Introduction
  10. 2        Running the drivers
  11. 2.1        Using the batch files
  12. 2.2        Using dvidrv.exe (DOS only)
  13. 2.3        Getting help for the calling sequence
  14. 2.4        Printing or viewing a DVI file
  15. 3        Using options
  16. 3.1        Options for message output
  17. 3.1.1        Getting a list of the options
  18. 3.1.2        Setting the verbosity level
  19. 3.2        Options for page selection
  20. 3.2.1        Selecting sides by page number
  21. 3.2.2        Double-sided printing
  22. 3.2.3        Selecting sides by side index
  23. 3.2.4        Selecting the order of the sheets
  24. 3.2.5        Printing multiple copies
  25. 3.3        Managing fonts and graphics files
  26. 3.3.1        Handling missing fonts and graphics files
  27. 3.3.2        Scaling fonts
  28. 3.3.3        Font size tolerance
  29. 3.3.4        Initial loading of fonts
  30. 3.3.5        Rounding character positions
  31. 3.3.6        Generating fonts automatically
  32. 3.4        Side layout options
  33. 3.4.1        Specifying the paper size
  34. 3.4.2        Transformation (orientation)
  35. 3.4.3        Moving the output on the sheet
  36. 3.5        Producing booklets and books, n-up printing
  37. 3.5.1        Defining the locations of the pages on a sheet
  38. 3.5.2        Arranging the pages
  39. 3.5.3        Special effects
  40. 3.5.4        Examples
  41. 3.6        Magnification and resolution
  42. 3.6.1        Setting the resolution
  43. 3.6.2        Setting the magnification
  44. 3.7        Directory and file name options
  45. 3.7.1        Search paths
  46. 3.7.2        Input files
  47. 3.7.3        Output files
  48. 3.8        Miscellaneous options
  49. 3.8.1        Meta options
  50. 3.8.2        Memory management
  51. 3.9        Additional options for dviscr and dvivik
  52. 3.9.1        Configuration
  53. 3.10       Additional options for dvipm
  54. 3.10.1       Configuration
  55. 3.11       Additional options for dvidot when printing on a dot matrix printer
  56. 3.11.1       Options for all parameter files
  57. 3.11.2       Options for all parameter files but itoh.dot and aiw.dot
  58. 3.11.3       Options for the parameter files itoh.dot and aiw.dot
  59. 3.12       Additional options for dvidot when generating graphics files
  60. 3.12.1       Controlling the bitmap file
  61. 3.13       Additional options for dvihplj
  62. 3.13.1       General options
  63. 3.13.2       Selecting the printer model
  64. 3.13.3       Using additional features of a printer
  65. 3.13.4       Solving compatibility problems
  66. 3.14       An introduction to templates
  67. 3.14.1       The simplest example of a template -- a constant template
  68. 3.14.2       A simple example of a template
  69. 3.14.3       Template parameters
  70. 3.14.4       Forming multiple expansions with a list
  71. 3.14.5       Forming multiple expansions with alternatives
  72. 3.14.6       Multiple sets of alternatives
  73. 3.14.7       Environment variables
  74. 3.14.8       The emTeX directory ($EMTEX:)
  75. 3.14.9       Template parameter modifiers
  76. 3.14.10      Default extension
  77. 3.14.11      Summary
  78. 3.14.12      Further examples
  79. 4        Managing fonts
  80. 4.1        Specifying font size (resolution)
  81. 4.2        Font substitution file format
  82. 4.2.1        Substitution with and without batch mode
  83. 4.2.2        Rule lines
  84. 4.2.3        Options in font substitution rules
  85. 4.2.4        Matching font names
  86. 4.2.5        Using built-in printer fonts
  87. 4.2.6        Example
  88. 4.3        Font search rules
  89. 4.4        Generating missing fonts automatically with MFjob and METAFONT
  90. 4.5        Using built-in printer fonts
  91. 5        Using dviscr and dvivik
  92. 5.1        Keyboard functions for dviscr and dvivik
  93. 5.2        Entering numbers
  94. 5.3        Understanding the status line
  95. 6        \special
  96. 7        Miscellaneous topics
  97. 7.1        General notes
  98. 7.2        Output with the +verbosity:4 option
  99. 7.2.1        dvihplj
  100. 7.2.2        All drivers
  101. 7.3        Return codes (ERRORLEVEL)
  102. 7.4        Known bugs
  103. 8        Installation of the printer drivers and the screen previewers
  104. 9        Explanation of warning and error messages
  105. 9.1        Warning messages
  106. 9.2        Fatal errors (2xxx)
  107. 9.3        Internal errors (3xxx)
  108. 10       History
  109.  
  110.  
  111. 1 Introduction
  112. ==============
  113.  
  114. The dvidrv drivers output DVI files to a printer or to the screen.
  115. DVI files are created by TeX, for instance.
  116.  
  117. The drivers run under OS/2 1.x, OS/2 2.x, MS-DOS and PC-DOS (2.1 or
  118. later) on IBM PC compatible computers.  At least 512 KB of memory is
  119. required under DOS.
  120.  
  121. You'll find installation instructions in section 8.
  122.  
  123. The dvidrv family includes the following drivers:
  124.  
  125. dviscr  screen previewer for CGA, EGA, VGA, HGC, 8514/A, and other
  126.         adapters
  127.  
  128. dvivik  screen previewer for Viking I, cannot be used under OS/2
  129.  
  130. dvipm   screen previewer for the Presentation Manager (OS/2 1.2 or
  131.         later)
  132.  
  133. dvihplj
  134.         printer driver for PCL printers such as HP LaserJet+, HP
  135.         DeskJet, HP PaintJet, HP QuietJet, HP ThinkJet, and Kyocera
  136.         F-1010.  The HP LaserJet classic is not supported.
  137.  
  138. dvidot  printer driver for dot matrix printers and for creating
  139.         graphics files.  This driver can be configured for many dot
  140.         matrix printers (including dot impact printers, laser printers
  141.         and ink jet printers).  Moreover, it can create graphics files
  142.         in various formats.
  143.  
  144. The following dvidot parameter files for printing on dot matrix
  145. printers are supplied:
  146.  
  147.     Parameter │ Printers                   │Resolution │ Environ. │+font-files
  148.     file      │ (incomplete list)          │ h x v DPI │ variable │default (*)
  149.     ──────────┼────────────────────────────┼───────────┼──────────┼───────────
  150.     fx80      │ EPSON FX and RX series     │ 240x216   │ DVIFX    │ fx
  151.     fx80l     │ EPSON FX and RX series     │ 120x72    │ DVIFX    │ fx
  152.     fx100     │ EPSON FX and RX series     │ 240x216   │ DVIFX    │ fx
  153.     fx100l    │ EPSON FX and RX series     │ 120x72    │ DVIFX    │ fx
  154.     lql       │ EPSON LQ series            │ 180x180   │ DVILQL   │ p6l
  155.     lqm       │ EPSON LQ series            │ 360x180   │ DVILQM   │ p6m
  156.     lqh       │ EPSON LQ series            │ 360x360   │ DVILQH   │ p6h
  157.     lqwl      │ EPSON LQ series (wide)     │ 180x180   │ DVILQL   │ p6l
  158.     lqwm      │ EPSON LQ series (wide)     │ 360x180   │ DVILQM   │ p6m
  159.     lqwh      │ EPSON LQ series (wide)     │ 360x360   │ DVILQH   │ p6h
  160.     sty800    │ EPSON Stylus 800           │ 360x360   │ DVISTY   │ p6h
  161.     p6l       │ NEC P6, Panasonic KX-P1124 │ 180x180   │ DVIP6L   │ p6l
  162.     p6m       │ NEC P6, Panasonic KX-P1124 │ 360x180   │ DVIP6M   │ p6m
  163.     p6h       │ NEC P6, Panasonic KX-P1124 │ 360x360   │ DVIP6H   │ p6h
  164.     p7l       │ NEC P7                     │ 180x180   │ DVIP6L   │ p6l
  165.     p7m       │ NEC P7                     │ 360x180   │ DVIP6M   │ p6m
  166.     p7h       │ NEC P7                     │ 360x360   │ DVIP6H   │ p6h
  167.     itoh      │ C.ITOH 8510A               │ 160x144   │ DVIITOH  │ ito
  168.     aiw       │ Apple Imagewriter          │ 160x144   │ DVIAIW   │ aiw
  169.     dmp130    │ Tandy DMP-130              │ 240x216   │ DVIDMP   │ fx
  170.     ibm4201   │ IBM Proprinter 4201        │ 240x216   │ DVI4201  │ fx
  171.     ibm4202   │ IBM Proprinter 4202        │ 240x216   │ DVI4202  │ fx
  172.     ibm4207l  │ IBM Proprinter 4207        │ 180x180   │ DVI4207L │ p6l
  173.     ibm4207m  │ IBM Proprinter 4207        │ 360x180   │ DVI4207M │ p6m
  174.     ibm4208l  │ IBM Proprinter 4208        │ 180x180   │ DVI4208L │ p6l
  175.     ibm4208m  │ IBM Proprinter 4208        │ 360x180   │ DVI4208M │ p6m
  176.     bj10eh    │ Canon Bubble Jet BJ-10e    │ 360x360   │ DVIBJH   │ bj
  177.     bj300h    │ Canon Bubble Jet BJ300     │ 360x360   │ DVIBJH   │ bj
  178.  
  179. (*)     Due to space restrictions, this column shows only
  180.         part of the +font-files default setting.  If this
  181.         column contains *, the complete default setting is
  182.         \texfonts\pixel.*\@Rrdpi\@f{.pk,.pxl}.
  183.  
  184. The IBM Proprinter type 4207 and 4208 must be set to AGM (see the
  185. printer user's manual).
  186.  
  187. Not all printers of the EPSON LQ series support 360x360 DPI (lqh.dot
  188. and lqwh.dot).  For instance, there are two variants of the LQ-850,
  189. only one of which supports 360x360 DPI.
  190.  
  191. The following dvidot parameter files for creating graphics files are
  192. supplied:
  193.  
  194.     Parameter │                                                    │ Default
  195.     file      │ Graphics file format                               │ extension
  196.     ──────────┼────────────────────────────────────────────────────┼──────────
  197.     msp1      │ Old MSP format (Microsoft Paint of Windows 1.x)    │ msp
  198.     msp2      │ Newer MSP format (Microsoft Paint of Windows 2.x)  │ msp
  199.     pcx       │ PCX format (Paintbrush)                            │ pcx
  200.     bmpos2    │ BMP format (OS/2 1.1)                              │ bmp
  201.     bmpwin    │ BMP format (Windows 3.x)                           │ bmp
  202.  
  203. The default resolution is 300x300 DPI, the default name of the envi-
  204. ronment variable is DVIBMP, the default value for the +font-files op-
  205. tion is \texfonts\pixel.lj\@Rrdpi\@f{.pk,.pxl}.  The default extension
  206. given in the table applies to the output file.
  207.  
  208. Additional parameter files can be easily constructed -- see
  209. makedot.doc.
  210.  
  211. If memory in real mode (DOS) is short, dviscrs.exe should be used
  212. instead of dviscr.exe -- you can rename dviscrs.exe only if it is run
  213. under DOS 3.0 or later.  This version runs in real mode only, needs
  214. less memory and is somewhat slower.  Otherwise it behaves exactly
  215. like dviscr -- for instance, @d in templates will be replaced with
  216. `dviscr'.
  217.  
  218. When using OS/2 1.x, you must run dvipm16.exe (or dvipm167.exe to
  219. take advantage of the numeric coprocessor if you have one) instead of
  220. dvipm.exe.
  221.  
  222.  
  223. 2 Running the drivers
  224. =====================
  225.  
  226. Usually, you run a DVI driver by invoking one of the batch files
  227. supplied with the drivers.
  228.  
  229.  
  230. 2.1 Using the batch files
  231. -------------------------
  232.  
  233. The following batch files for running the drivers are provided:
  234.  
  235.     v      prtlql     prtp6l     prthplj      prtfx      pcxfx      pcxp6l
  236.     vs     prtlqm     prtp6m     prthpljh     prtfxl     pcxito     pcxp6m
  237.     vp     prtlqh     prtp6h     prtitoh      prtsty     pcxlj      pcxp6h
  238.  
  239. Below, the commands used by those batch files are explained.  The
  240. batch files v, vs and vp are called with on argument: the name of the
  241. DVI file.  The other batch files are called with two arguments: the
  242. name of the DVI file and the name of the output file.  The name of the
  243. output file can be omitted, the drivers will then use the default out-
  244. put file name set with the +default-output-file option, for instance
  245. the printer port LPT1.  Additionally, you can enter command line op-
  246. tions as arguments.
  247.  
  248. The batch files use the following environment variables:
  249.  
  250. DVIDRVINPUT
  251.         Search path for DVI files.
  252.  
  253. DVIDRVFONTS
  254.         Search path for FLI files.
  255.  
  256. DVIDRVGRAPH
  257.         Search path for graphics files.
  258.  
  259. For instance, you can set the environment variables like this:
  260.  
  261.     set dvidrvinput=c:\mytex;c:\emtex\doc;c:\emtex\doc\english
  262.     set dvidrvfonts=c:\texfonts
  263.     set dvidrvgraph=c:\mytex;c:\emtex\doc
  264.  
  265. In this example, DVI files and graphics files will be sought in \mytex
  266. in addition to the emTeX directories.  Font files and font library
  267. files will be sought in c:\texfonts.
  268.  
  269. Note that the environment variables should not contain whitespace.
  270. When using `Cut & Paste' blanks may sneak in at the end of the lines.
  271.  
  272. If you don't want to set these environment variables, you should in-
  273. sert the path names into the configuration files (or preferably into
  274. copies of the configuration files).
  275.  
  276. The batch files use configuration files for setting the options.
  277. You can also use those configuration files on the command line of a
  278. driver to use different fonts.  The following configuration files are
  279. available for selecting fonts:
  280.  
  281.     File name    │ Resolution │ Fonts │ Font resolution
  282.     ─────────────┼────────────┼───────┼────────────────
  283.     bj.cnf       │   360      │  BJ   │      360
  284.     fax.cnf      │ 204x196    │  FAX  │    204x196
  285.     fx.cnf       │ 240x216    │  FX   │    240x216
  286.     ito.cnf      │ 160x144    │  ITO  │    160x144
  287.     lj.cnf       │   300      │  LJ   │      300
  288.     ljh.cnf      │   600      │  LJH  │      600
  289.     mxl_fx.cnf   │ 120x72     │  FX   │    240x216
  290.     p6h.cnf      │   360      │  P6H  │      360
  291.     p6l.cnf      │   180      │  P6L  │      180
  292.     p6l_p6h.cnf *│   180      │  P6H  │      360
  293.     p6l_p6m.cnf *│   180      │  P6M  │    360x180
  294.     p6m.cnf      │ 360x180    │  P6M  │    360x180
  295.     p6m_p6h.cnf *│ 360x180    │  P6H  │      360
  296.  
  297. The configuration files marked with * use scaled fonts, see
  298. +font-scaling.
  299.  
  300. To call dviscr with P6L fonts, type
  301.  
  302.     v @p6l.cnf <filename>
  303.  
  304. or replace @lj.cnf with @p6l.cnf in v.bat (OS/2: v.cmd).
  305.  
  306.  
  307. 2.2 Using dvidrv.exe (DOS only)
  308. -------------------------------
  309.  
  310. The dvidrv program calls the driver program and -- if required --
  311. MFjob to generate missing fonts:
  312.  
  313.     dvidrv <driver> <driver-arguments>
  314.  
  315. The dvidrv program creates a temporary file for the MFjob commands and
  316. runs the driver program given on the command line.  If missing fonts
  317. are to be generated, MFjob will be called, then again the driver.
  318. Finally, the temporary file will be deleted.  The dvidrv program is
  319. required under DOS only.  Under OS/2, the drivers directly call MFjob
  320. (unless +call-mfjob:off is set).
  321.  
  322. See +metafont-mode and +mfjob-file and section 4.4, `Generating
  323. missing fonts automatically with MFjob and METAFONT' for details.
  324.  
  325.  
  326. 2.3 Getting help for the calling sequence
  327. -----------------------------------------
  328.  
  329. To get a list of the more common options, type ? on the command line,
  330. for example:
  331.  
  332.     dvihplj ?
  333.  
  334. To get a list of all the options, type ??  instead of ?.
  335.  
  336.  
  337. 2.4 Printing or viewing a DVI file
  338. ----------------------------------
  339.  
  340. On the command line, you can enter the input file name, options and --
  341. for the printer drivers -- the output file name:
  342.  
  343.     dviscr  [options] input-file [options]
  344.     dvivik  [options] input-file [options]
  345.     dvipm   [options] input-file [options]
  346.     dvihplj [options] input-file [options] output-file [options]
  347.     dvidot  parameter-file [options] input-file [options] output-file [options]
  348.  
  349. If arguments are omitted the program will prompt for them (cf. the
  350. +options option.) except that dvidot must always have the parameter
  351. file name on the command line.  More than one argument may be entered
  352. at each prompt, these arguments will be interpreted as if they had
  353. been entered on the command line.
  354.  
  355. When using dvipm, you can enter the name of the input file and the op-
  356. tions in dialog boxes if you don't give a file name on the command
  357. line.  In this case, you can change the options.  After changing the
  358. options, you can open the DVI file.  After opening the DVI file, you
  359. can't change the options until you choose File->New.  Moreover, you
  360. can use drag & drop under OS/2 1.3 and later to open a DVI file.
  361. You'll find further information about dvipm in the on-line help
  362. (select the Help menu or press F1).  The language used for the on-line
  363. help can be changed with the Language selection of the Help menu.  You
  364. can choose English or German help.
  365.  
  366. dvidot expects to find the dvidot parameter files (the default exten-
  367. sion is DOT) in the `data' subdirectory of the emTeX directory, which
  368. defined is by the EMTEXDIR environment variable.  If EMTEXDIR is not
  369. set, dvidot will use `\emtex\data' for the parameter file.  The name
  370. of the parameter file MUST be given on the command line and must be
  371. the first argument.
  372.  
  373. For dvidot with a parameter file for creating graphics files, the de-
  374. fault extension for output files is MSP, PCX or BMP, depending on the
  375. parameter file.  dvidot with a parameter file for a dot matrix printer
  376. and all the other drivers have no default.  The output filename can be
  377. a DOS device name like PRN, LPT2, COM2 if required -- though not when
  378. creating a graphics file, of course.  See also the +xon-xoff option.
  379.  
  380. If the output is sent to a file then the file can be printed with
  381.  
  382.     COPY /B file PRN
  383.  
  384. The `/b' option is important as otherwise the copy will terminate at
  385. the first Control-Z byte encountered.
  386.  
  387. Under OS/2 a hyphen can be used as the output file name, output will
  388. be sent to stdout and can be piped into another program.  Output to
  389. stdout does not work when creating a graphics file with dvidot.
  390.  
  391. Usually, dvidot with a parameter file for creating graphics files
  392. creates only one graphics file, containing the first selected side.
  393. Multiple graphics files (one for each side) can be created with one
  394. dvidot run by using one or more (consecutive) `?' in the output file
  395. name.  The question marks will be replaced by a number (with leading
  396. zeros): 1 for the first side, 2 for the second, and so on.  If there's
  397. one `?', up to 9 graphics files will be created, if there are two `?',
  398. up to 99 graphics files will be created, and so on.  Example:
  399.  
  400.     dvidrv dvidot pcx @lj.cnf mytext page??
  401.  
  402. creates the graphics files page01.pcx to (at most) page99.pcx.
  403.  
  404. When entering the options in response to a driver prompt the `-' or
  405. `/', which is required on the command line, need not be entered; `+',
  406. however, must be entered.
  407.  
  408. An input filename, output filename or option can be replaced by
  409. @response-file.  This will cause the lines in the response file to be
  410. read and interpreted at this point after which interpretation of the
  411. command line will continue.  The response file line length may not
  412. exceed 127 characters.  An example:
  413.  
  414.     dvidrv dvidot fx80 @fx.cnf test prn
  415.  
  416. The arguments in fx.cnf will be processed first and then the file
  417. test.dvi will be printed with the output going to the device PRN.
  418. @response-file can be entered at a program prompt as well as on the
  419. command line.  The directories to be searched for response files can
  420. be set with the +response-files option; the normal searching sequence
  421. starts with the current directory and finally searches the `data'
  422. subdirectory of the emTeX directory.
  423.  
  424. Arguments can also be passed to the program through environment vari-
  425. ables which are processed before arguments on the command line or
  426. entered at a prompt.  It is recommended, however, that only options,
  427. or response files containing only options, are put into environ-
  428. ment variables; if a file name is entered then only this file can be
  429. processed.
  430.  
  431. The first environment variable looked for is DVIDRV and the next is
  432. one with the same name as the driver.  dvidot uses a further environ-
  433. ment variable with a name set in the parameter file.  For example,
  434. to set +dvi-file:{,c:\mydvi\}@i as a default option for dviscr, the
  435. operating system command:
  436.  
  437.     set dviscr=+dvi-file:{,c:\mydvi\}@i
  438.  
  439. can be given.  Note: Environment variables cannot contain `='.
  440.  
  441. Options which are common to all the drivers should appear in the
  442. DVIDRV environment variable.  If, for instance, units should all be in
  443. mm then the system command
  444.  
  445.     set dvidrv=+unit:mm
  446.  
  447. can be entered.  This will affect all the drivers.
  448.  
  449. In a response file a single `%' starts a comment: all characters to
  450. the end of the line will be ignored.  The `%' can be placed at the
  451. beginning of a line or after an option, but in the latter case it must
  452. be preceded by at least one space.
  453.  
  454. A `@' at the beginning of a line (column 1) causes the rest of the
  455. file to be ignored -- this allows a driver log file to be used as a
  456. response file.
  457.  
  458.  
  459. 3 Using options
  460. ===============
  461.  
  462. Most options have two forms: A long form and a short form (more or
  463. less compatible with earlier releases of the drivers).  The long form
  464. consists of a `+' character followed by the long name of the option,
  465. possibly abbreviated.  The short form consists of a `/' or `-' charac-
  466. ter followed by one, two or three cryptic letters.  There are options
  467. for which only the long form is available and there are options for
  468. which only the short form is available (long forms for the options of
  469. the latter variety will be added in a later version of the drivers).
  470.  
  471. Options may be separated by spaces or another option may follow immedi-
  472. ately: in this case the following option must start with `/' (and thus
  473. must be given in the short form).  If your operating system is set up
  474. to use `-' for options instead of `/', you must precede the short form
  475. of options by `-' and you must separate options by spaces.  In this
  476. case, you can use `/' in path names, for example
  477.  
  478.     dviscr @lj.cnf /mytex/mytext -o:3 -pt:/mylog/mytext.ddl
  479.  
  480. With a standard setup (using `/' for options), you should enter
  481.  
  482.     dviscr @lj.cnf \mytex\mytext /o:3/pt:\mylog\mytext.ddl
  483.  
  484. instead.  The examples in this manual use `/'.
  485.  
  486. The operating system switch character can be overridden by setting the
  487. EMTEXSWCHAR environment variable to a non-empty value.  If EMTEXSWCHAR
  488. is set to `-', this character will be used for options.  For all other
  489. settings of EMTEXSWCHAR, the drivers use `/' for options.
  490.  
  491. The long names of the options can be abbreviated as follows, as long
  492. as the abbreviation is unambiguous (otherwise a warning message will
  493. be displayed, along with all matching options):
  494.  
  495. - If you enter a period, the characters in the name of an option are
  496.   skipped until a `-' or the end of the name is reached.  This way,
  497.   you can abbreviate words contained in the name of an option.
  498.  
  499. - You can omit characters at the end of the name.
  500.  
  501. The following list shows some valid (unambiguous) abbreviations for
  502. +font-size-tolerance:
  503.  
  504.     +font-size-tol
  505.     +font-size-tol.
  506.     +f.s.t.
  507.     +fo.size-t.
  508.     +font..tol
  509.     +..tol
  510.  
  511. Note that you can append `-x' or `-y' to some of the options.  Only
  512. if the input ends with `x' or `y', the driver appends `-x' or `-y',
  513. respectively, to the internal names of the options when looking for
  514. a match.  This is to allow for abbreviating the name of the option
  515. without making ambiguous the name without `-x' or `-y'.  (For in-
  516. stance, if `-x' and `-y' were appended unconditionally to all names in
  517. the list of known options, `+resolution' would match the three options
  518. `+resolution', `+resolution-x' and `+resolution-y'.)
  519.  
  520. Letter case is not significant in the names of the options.  However,
  521. letter case is significant in the arguments of some options.
  522.  
  523. Options may take arguments.  For the long form of an option, there
  524. must be `:', `=' or `:=' between an option and its argument, for exam-
  525. ple
  526.  
  527.     +width:210mm
  528.     +width=210mm
  529.     +width:=210mm
  530.  
  531. are all acceptable forms.  For the short form, there may be `:', `='
  532. or `:=' between an option and its argument, for example
  533.  
  534.     /w210mm
  535.     /w:210mm
  536.     /w=210mm
  537.     /w:=210mm
  538.  
  539. are all acceptable forms.
  540.  
  541. Note: `=' may not appear in an environment variable and cannot be
  542. given in an argument to a batch file.  Semicolon and comma can also
  543. not appear in an argument to a batch file (dangerous in connection
  544. with templates).
  545.  
  546. If an option may take an argument, both forms of the option can take
  547. an argument.  Note that for some options, the syntax for arguments is
  548. different for the long and short forms.  The type of the argument is
  549. shown below only for the short form.  Possible types are:
  550.  
  551. #       stands for a number which will sometimes be followed by a
  552.         dimension (the dimension must be in lowercase).  Some op-
  553.         tions can be used to specify a value referring to the X co-
  554.         ordinate or a value referring to the Y coordinate, for in-
  555.         stance /r#.  With /r:300 both values are set.  To set only
  556.         one of the two values, append `x' or `y' to the short name
  557.         of the option: /rx:240 and /ry:216.  When using the long
  558.         form, append `-x' or `-y' when setting the X or Y coordinate.
  559.         Example (+resolution): Use +reso:300 to set both values, use
  560.         +res.x:240 and +res.y:216 to set the values independently.
  561.  
  562. +       stands for `+' or `-' for the short form.  + turns the option
  563.         on, - turns it off.  When using the long form, `on' and `y'
  564.         turn the option on, `off' and `n' turn the option off.  If no
  565.         argument is given, the option is turned on.
  566.  
  567. *       stands for any other type of argument.
  568.  
  569. The long form is always listed without an indication of the type of
  570. the argument.
  571.  
  572.  
  573. 3.1 Options for message output
  574. ------------------------------
  575.  
  576. These options are used for listing the available options and for
  577. controlling the amount of messages shown on the screen.
  578.  
  579.  
  580. 3.1.1 Getting a list of the options
  581. -----------------------------------
  582.  
  583. These options list some or all options, including the current
  584. settings.
  585.  
  586. +short-help  /?
  587.  
  588.     List the most frequently used options with their current settings.
  589.  
  590. +help  /??
  591.  
  592.     List all the options with their current settings.  Included are op-
  593.     tions which are usually set only once: in the configuration file.
  594.  
  595.  
  596. 3.1.2 Setting the verbosity level
  597. ---------------------------------
  598.  
  599. The verbosity level controls what messages are displayed on the
  600. screen.  Independent of the verbosity level, all messages are written
  601. to the log file.
  602.  
  603. +verbosity  /v#
  604.  
  605.     Set the verbosity level:
  606.  
  607.     0       display only fatal error messages
  608.  
  609.     1       display all messages of level 0, plus page numbers and
  610.             font substitutions in batch mode
  611.  
  612.     2       display all messages of level 1, plus serious warnings,
  613.             `Loading ...' and the DVI file comment
  614.  
  615.     3       display all messages of level 2, plus all warnings and
  616.             \special's
  617.  
  618.     4       display all messages of level 3, plus statistics and the
  619.             names of font files
  620.  
  621.     5       display all messages of level 4, plus comments in the font
  622.             files
  623.  
  624.     The default setting is +verbosity:2.
  625.  
  626.     Note that +font-load-limit:-1 suppresses font comments and
  627.     warnings of font problems.
  628.  
  629.  
  630. 3.2 Options for page selection
  631. ------------------------------
  632.  
  633. These options select the pages to be printed.  In the following the
  634. difference between `pages', `sides' and `sheets' should be noted: A
  635. page is a page from TeX's point of view, i.e., the DVI file contains
  636. multiple pages with a TeX page number assigned to each of them.  There
  637. may be multiple pages on one side (n-up printing, see below), the
  638. sides are numbered sequentially, the pages are numbered according
  639. to the TeX page number assigned to them.  A sheet contains either
  640. one side (if printing single sided or if using two passes for print-
  641. ing double sided) or two sides (if using +double-sided:long or
  642. +double-sided:short).
  643.  
  644. The terms `side' and `sheet' are equivalent unless +double-sided:long
  645. or +double-sided:short is used.
  646.  
  647. The terms `page' and `side' are equivalent if +rows:1 +columns:1 is
  648. used.
  649.  
  650. The options are applied in the order they are shown below: Initially,
  651. all sides are to be printed.  The first option removes certain sides
  652. from consideration, the second then restricts the remaining sides and
  653. so on.
  654.  
  655.  
  656. 3.2.1 Selecting sides by page number
  657. ------------------------------------
  658.  
  659. You can select a range of sides by giving the TeX page number of the
  660. first page and/or the TeX page number of the last page.
  661.  
  662. +first-page  /b*
  663.  
  664.     Select the first side to be printed.  The DVI file will then be
  665.     read from the beginning until a matching page is encountered.
  666.     Further page selection will now begin, starting at the side
  667.     containing this page.  An asterisk stands for any page number: at
  668.     most 10 numbers can be given which will be compared with \count0
  669.     to \count9 -- omitted numbers will be replaced with *.  The de-
  670.     fault is * which means begin at the first page in the file.
  671.  
  672.     In the following example, selection begins with the page having
  673.     \count0=-3 and \count2=4:
  674.  
  675.         +fi.p:-3.*.4
  676.  
  677. +last-page  /e*
  678.  
  679.     Select the last side.  After finding a suitable first side, the
  680.     DVI file search will continue until a page matching this option's
  681.     specification is encountered.  The side containing this page
  682.     will be the last one.  The sides encompassing the range of pages
  683.     selected by +first-page and +last-page will remain selected.  The
  684.     default is *: this is an exception, it means that no matching for
  685.     the last page will take place.
  686.  
  687.     In the following example, the last side is the one containing the
  688.     page with the page number 10.5:
  689.  
  690.         +la.p:10.5
  691.  
  692.  
  693. 3.2.2 Double-sided printing
  694. ---------------------------
  695.  
  696. There are two ways of producing double-sided output: Use a printer
  697. which automatically prints on both sides of the paper (duplex print-
  698. ing) or print in two passes.
  699.  
  700. +double-sided  /d:e /d:o /d:-
  701.  
  702.     Double-sided printing: every other side is selected.
  703.     +double-sided:odd selects sides 1., 3., ..., +double-sided:even
  704.     selects the sides 2., 4., ...  The default is +double-sided:off,
  705.     all sides are selected.  Additionally, you can use
  706.     +double-sided:long and +double-sided:short with dvihplj (and
  707.     dvidot for some parameter files) to automatically print
  708.     double-sided on a suitable printer.  See the lists of dvihplj's
  709.     and dvidot's options for details.  Use +backside-offset-x and
  710.     +backside-offset-y to align frontside and backside.
  711.  
  712.     The arguments `e', `o' and `-' can be used instead of `even',
  713.     `odd' and `off'.  When using the short form of this option, you
  714.     have to use `e', `o' or `-'.
  715.  
  716.     The following example prints the first part of a double-sided
  717.     document:
  718.  
  719.         +doub:odd
  720.  
  721.     The following example prints the second part of a double-sided
  722.     document:
  723.  
  724.         +doub:even
  725.  
  726.     You might have to toggle the +backward option on the second pass.
  727.  
  728.  
  729. 3.2.3 Selecting sides by side index
  730. -----------------------------------
  731.  
  732. The sides selected by the options above will be numbered sequentially.
  733. Use the following options to select sides by side index.
  734.  
  735. +skip-sides  /k#
  736.  
  737.     The number of sides to skip: the first # of the sides in the
  738.     chosen range will be skipped.  The default is 0.
  739.  
  740.     The following example will skip one side, the selection will begin
  741.     with the second side:
  742.  
  743.         +skip:1
  744.  
  745. +number-of-sides  /n#
  746.  
  747.     The number of sides to print: at most # sides will be printed.
  748.     Default: 65535, the maximum value.
  749.  
  750.     The following example will print at most 10 sides:
  751.  
  752.         +num:10
  753.  
  754.  
  755. 3.2.4 Selecting the order of the sheets
  756. ---------------------------------------
  757.  
  758. Some printers stack the output sheets face-up.  On those printers, the
  759. last sheet should be printed first.
  760.  
  761. +backward  /z+
  762.  
  763.     Print the sheets in reverse order, starting with the last sheet
  764.     selected.  The default is +backward:off, print the first sheet
  765.     first.
  766.  
  767.  
  768. 3.2.5 Printing multiple copies
  769. ------------------------------
  770.  
  771. There are two methods for printing multiple copies of a document.
  772.  
  773. +copy-sheets  /ns#
  774.  
  775.     Print # copies of each sheet (uncollated copies): each sheet will
  776.     be printed # times before going on to the next sheet.  The default
  777.     setting is +copy-sheets:1 -- print each sheet only once.  This op-
  778.     tion is not supported by dviscr, dvivik and dvipm (and dvidot when
  779.     creating graphics files).
  780.  
  781. +copy-file  /nf#
  782.  
  783.     Print the whole file # times (collated copies).  The default
  784.     setting is +copy-file:1 -- print the file only once.  For exam-
  785.     ple, if four sides are to be printed, +copy-file:2 will cause them
  786.     to be printed in the order 1 2 3 4 1 2 3 4.  When +copy-sheets
  787.     and +copy-file are combined, +copy-sheets will be applied first,
  788.     then +copy-file.  For example, printing two sides with the option
  789.     setting +copy-sheets:2 +copy-file:3 will result in the following
  790.     order: 1 1 2 2 1 1 2 2 1 1 2 2.  This option is not supported
  791.     by dviscr, dvivik and dvipm (and dvidot when creating graphics
  792.     files).  If +double-sided:long or +double-sided:short is used,
  793.     empty sides are inserted as necessary to avoid printing the first
  794.     side of the next copy on the backside of the last sheet of the
  795.     previous copy.
  796.  
  797.  
  798. 3.3 Managing fonts and graphics files
  799. -------------------------------------
  800.  
  801. Most of these options are set only once, during installation (in a
  802. response file).  Some of these options are set in the configuration
  803. files that come with the drivers.
  804.  
  805.  
  806. 3.3.1 Handling missing fonts and graphics files
  807. -----------------------------------------------
  808.  
  809. There are three modes of handling missing font and graphics files.
  810. Note that you can change the mode interactively when the driver asks
  811. for a replacement for a missing font.
  812.  
  813. +batch-mode  /fb
  814.  
  815.     Automatic replacement of missing fonts.  If a font is not found
  816.     then it is sought first in magnification 1000.  If it is still
  817.     not found then cmr10 in the required magnification is sought,
  818.     then cmr10 at magnification 1000.  If this fails, a TFM file will
  819.     be sought (characters will be replaced by rectangles if a TFM
  820.     file is found).  If all this fails, characters from this font
  821.     will be omitted resulting in wrong positions of rules, characters
  822.     from other fonts, etc.  This font search method can be altered
  823.     with a font substitution file.  If a graphics file is not found
  824.     and +batch-mode has been selected then the picture will be
  825.     omitted.  +batch-mode is switched off by either +change-mode or
  826.     +interactive-mode.  If MFjob and METAFONT shall be called for gen-
  827.     erating missing fonts, usage of +batch-mode is recommended unless
  828.     you want to select which of the missing fonts should be generated.
  829.  
  830. +change-mode  /fc
  831.  
  832.     Before a font or graphics file is loaded, the name of the file can
  833.     be changed if +change-mode is active.  +change-mode is switched
  834.     off by either +batch-mode or +interactive-mode.
  835.  
  836. +interactive-mode  /fi
  837.  
  838.     This is the default.  If a font or graphics file cannot be found,
  839.     you can change the magnification or the name if +interactive-mode
  840.     is active.  +interactive-mode is switched off by either
  841.     +batch-mode or +change-mode.
  842.  
  843. +omit-graphics  /fo+
  844.  
  845.     All \special{em:graph} commands will be ignored (without issuing
  846.     warnings) if +omit-graphics:on is used.  That is, no graphics
  847.     files will be inserted.
  848.  
  849.  
  850. 3.3.2 Scaling fonts
  851. -------------------
  852.  
  853. +font-scaling  /fs#
  854.  
  855.     Font scaling.  These options are used to reduce the size of the
  856.     font allowing a font generated for a higher resolution device to
  857.     be used at a lower resolution (disk space!).  The reduction is
  858.     accomplished by replacing the points in the rectangle of width
  859.     +font-scaling-x and height +font-scaling-y by a single point.  If
  860.     the rectangle is a square, +font-scaling:# can be used to set the
  861.     width and height to the same value.  The values may lie in the
  862.     range 1 to 8.  Printing with fonts reduced by this method gives
  863.     results which are of noticeably poorer quality than fonts gener-
  864.     ated by METAFONT directly.  The desired resolution must be set
  865.     with the +font-resolution option.  The configuration files that
  866.     come with the drivers set +font-scaling appropriately.
  867.  
  868.     The following example replaces the P6L fonts with scaled P6M
  869.     fonts:
  870.  
  871.         +resolution:180 +font-scaling-x:2 +font-resolution-x:360
  872.  
  873.  
  874. 3.3.3 Font size tolerance
  875. -------------------------
  876.  
  877. +font-size-tolerance  /ft#
  878.  
  879.     Allow for size tolerance when searching for fonts.  Before seeking
  880.     a font, its size will be replaced by the closest size available,
  881.     unless the relative deviation is greater than 0.2%.  Then, the
  882.     driver tries to find the font by trying the available sizes
  883.     starting with the closest size and proceeding with less close
  884.     sizes until the relative deviation from the size exceeds the value
  885.     set by +font-size-tolerance.  Sizes with a greater deviation are
  886.     not tried.  If a font is found and the deviation exceeds 0.2%,
  887.     warning message 1208 will be displayed.  The tolerance is entered
  888.     as percentage, the valid range is 0 to 20, that is, 0 to 20% of
  889.     deviation.  Default value: 0.2 (that is, 0.2%).  Values less than
  890.     0.2 are not recommended.  The available sizes of fonts are set
  891.     with the +font-sizes option, additionally the sizes found in the
  892.     font library files will be used.
  893.  
  894. +font-sizes  /fz*
  895.  
  896.     Available font sizes.  To be able to find fonts close (with
  897.     respect to size) to the fonts requested, the drivers must be
  898.     informed with +font-sizes about the available font sizes.  The
  899.     sizes are given in DPI, you can use magnifications by typing :0 to
  900.     :9 (see below).  To enter more than one value, separate the values
  901.     by commas (note: commas cannot be passed to batch files).  You can
  902.     either replace the previous set of sizes or -- by preceding the
  903.     first value by `+' -- add sizes to the previous set of sizes.  The
  904.     default value is :0,:h,:1,:2,:3,:4,:5,:6,:7,:8,:9, that is, the
  905.     resolution set with +font-resolution, multiplied by 1, sqrt(1.2),
  906.     1.2, 1.44, and so on, up to 1.2^9.  If the list starts with a
  907.     colon (`:1', for instance), you must use `:', `=' or `:=' to
  908.     separate the value from `/fz', otherwise the colon would be read
  909.     as delimiter (and ignored).
  910.  
  911.     The following example adds sizes 200 and 240:
  912.  
  913.         +font-sizes:+200,200:1
  914.  
  915.     In the following example only magstep1 is available:
  916.  
  917.         /fz::1
  918.  
  919.  
  920. 3.3.4 Initial loading of fonts
  921. ------------------------------
  922.  
  923. +font-load-limit  /fl#
  924.  
  925.     Font load limit.  When the driver first loads the font
  926.     parameters from a font file (`Loading font ...') all those
  927.     characters are loaded that need no more than # bytes of memory.
  928.     +font-load-limit:-1 is a special case: the font parameters are
  929.     loaded only when needed; initially, only the existence of the
  930.     font file is checked.  +font-load-limit:-1, however, also stops
  931.     warnings about problems with the font files and should only be
  932.     used when you are sure that the fonts are alright.  The default
  933.     is 300, that is, all characters which need 300 or fewer bytes
  934.     of memory are immediately loaded.  If later a (larger) charac-
  935.     ter is required which has not yet been loaded, the font file will
  936.     have to be opened again.  If dviscr, dvivik or dvipm is used with
  937.     fonts on a fixed disk, it is better to use +font-load-limit:0 or
  938.     +font-load-limit:-1 as the first side appears on the screen more
  939.     quickly (initial font load takes a little time.)  If the driver
  940.     complains about lack of memory, it may help (but not necessarily)
  941.     to use +font-load-limit:0 or +font-load-limit:-1; this doesn't
  942.     reduce the memory required by the driver but may improve the way
  943.     the available memory is used.
  944.  
  945.     The following example disables initial loading of characters:
  946.  
  947.         +f.l.l:0
  948.  
  949.     The following example causes characters to be loaded on demand:
  950.  
  951.         +f.l.l:-1
  952.  
  953.     In the following example, all characters smaller than 1000 bytes
  954.     are initially loaded:
  955.  
  956.         +f.l.l:1000
  957.  
  958.  
  959. 3.3.5 Rounding character positions
  960. ----------------------------------
  961.  
  962. +max-drift  /fd#
  963.  
  964.     This sets the internal variable max_drift.  If the character or
  965.     line spacing is uneven, a different value can be tried: the usual
  966.     values range from 0 to 2, the default value is 1 if no configura-
  967.     tion file is used.  You can set the horizontal and vertical values
  968.     separately with +max-drift-x and +max-drift-y, respectively.  The
  969.     DVI drivers standard recommends the following values:
  970.  
  971.         Resolution r (DPI) │ max_drift
  972.         ───────────────────┼──────────
  973.                  r < 100   │    0
  974.           100 <= r < 200   │    1
  975.           200 <= r         │    2
  976.  
  977.     The values from this table are set by the configuration files that
  978.     come with the drivers.
  979.  
  980. +use-tfm-files  /fu+
  981.  
  982.     This option is used for telling the driver whether TFM files shall
  983.     be used for all fonts.  The pixel rounding algorithm requires the
  984.     word space (and other parameters) defined for a font for rounding
  985.     the positions of characters from that font.  The word space param-
  986.     eter will be taken from TFM files if +use-tfm-files:on has been
  987.     set.  To use TFM files, you have to set +tfm-files correctly.  If
  988.     a TFM file is not found, warning message 1212 will be displayed
  989.     and the font is treated as if +use-tfm-files:off were set.  If
  990.     +use-tfm-files:off is set, the word space will be estimated by the
  991.     driver.  The default setting is +use-tfm-files:off because in most
  992.     cases there is no a visible difference.
  993.  
  994.  
  995. 3.3.6 Generating fonts automatically
  996. ------------------------------------
  997.  
  998. +call-mfjob  /fr+
  999.  
  1000.     If the default value +call-mfjob:on is active, the drivers
  1001.     directly call MFjob under OS/2, without terminating the
  1002.     driver.  If you want to get the same behaviour as under DOS,
  1003.     use +call-mfjob:off.  In this case, the driver is terminated
  1004.     with return code 8 to indicate that MFjob should be invoked.
  1005.     +call-mfjob is ignored under DOS.
  1006.  
  1007. +metafont-mode  /fm*
  1008.  
  1009.     This option -- together with +mfjob-file -- is required for gener-
  1010.     ating missing fonts automatically by calling MFjob.  The METAFONT
  1011.     mode used for generating missing fonts is set by this option.  The
  1012.     default value is empty, if no configuration files are used: MFjob
  1013.     will not be called automatically.  The configuration files that
  1014.     come with the drivers set +metafont-mode appropriately.
  1015.  
  1016.     The following example uses mode hplaser for the HP LaserJet family
  1017.     at 300 DPI:
  1018.  
  1019.         +m.m:hplaser
  1020.  
  1021.  
  1022. 3.4 Side layout options
  1023. -----------------------
  1024.  
  1025. The options described here are used for specifying the paper size, the
  1026. offsets for achieving correct margins and the transformation (printing
  1027. orientation).
  1028.  
  1029.  
  1030. 3.4.1 Specifying the paper size
  1031. -------------------------------
  1032.  
  1033. See also the +paper option of dvihplj.
  1034.  
  1035. +height  /h#
  1036.  
  1037.     Set the paper height.  This value is used by dviscr and dvivik to
  1038.     display the sheet edges as a border.  dvipm uses this value for
  1039.     the size of the sheet.  dvidot with parameter file for creating
  1040.     graphics files uses this value to set the size of the graphics
  1041.     files unless +minimize:on is selected.  dvidot with parameter file
  1042.     for printing on a dot matrix printer uses this value to decide
  1043.     how much of the side can be printed; however, as a form feed is
  1044.     used to eject a page the physical page length must be set on the
  1045.     printer.  `dvidot itoh' and `dvidot aiw' are an exception, they
  1046.     use the value set by +form-length for page ejects.  You should set
  1047.     +height to the height of the paper you are printing on.
  1048.  
  1049.     The following example sets the paper format to A4:
  1050.  
  1051.         +height:297mm +width:210mm
  1052.  
  1053. +width  /w#
  1054.  
  1055.     Set the paper width.  dviscr and dvivik use this value for
  1056.     displaying the edges of the sheet.  dvipm uses this value for
  1057.     the size of the sheet.  dvidot with parameter file for creating
  1058.     graphics files uses this value to determine the size of the
  1059.     graphics files unless +minimize:on is given.  The dvidot driver
  1060.     with parameter file for dot matrix printers reduces this value
  1061.     by 1px if the value given is exactly the maximum paper width.
  1062.     `dvidot fx80', for example, reduces this width by 1px if, when
  1063.     converted, it is exactly 1920px.  You should set +width to the
  1064.     width of the paper you are printing on.
  1065.  
  1066.  
  1067. 3.4.2 Transformation (orientation)
  1068. ----------------------------------
  1069.  
  1070. +transformation  +portrait-mode  +landscape-mode  /tr#
  1071.  
  1072.     Output transformation.  The following values are available:
  1073.  
  1074.     0       normal output (portrait mode)
  1075.  
  1076.     1       rotate 90 degrees anticlockwise (landscape mode)
  1077.  
  1078.     2       rotate 180 degrees
  1079.  
  1080.     3       rotate 270 degrees anticlockwise
  1081.  
  1082.     4       reflect about the \ diagonal
  1083.  
  1084.     5       reflect vertically
  1085.  
  1086.     6       reflect about the / diagonal
  1087.  
  1088.     7       reflect horizontally
  1089.  
  1090.     In practice +transformation:0 (+portrait-mode) and
  1091.     +transformation:1 (+landscape-mode) are most often used.
  1092.  
  1093.     The transformations when applied to the pattern
  1094.  
  1095.         A B
  1096.         C D
  1097.         E F
  1098.  
  1099.     are
  1100.  
  1101.          0  │   1   │  2  │   3   │   4   │  5  │   6   │  7
  1102.         ────┼───────┼─────┼───────┼───────┼─────┼───────┼────
  1103.         A B │ B D F │ F E │ E C A │ A C E │ E F │ F D B │ B A
  1104.         C D │ A C E │ D C │ F D B │ B D F │ C D │ E C A │ D C
  1105.         E F │       │ B A │       │       │ A B │       │ F E
  1106.  
  1107.     It is important to set the paper height and width correctly with
  1108.     +height and +width (for coordinate transformations).
  1109.  
  1110.     The same paper dimensions and offsets can be used for all
  1111.     transformations, that is, +height, +width, +top-margin and
  1112.     +left-margin need not be changed.  The margins set with
  1113.     +page-top-margin and +page-left-margin are `above' or `left' of
  1114.     the text and will be transformed.
  1115.  
  1116.     If +resolution-x and +resolution-y differ then different fonts
  1117.     will be needed when rotating by 90 or 270 degrees or reflecting
  1118.     about a diagonal -- this applies to the EPSON FX-80/100, NEC P6/P7
  1119.     (360x180DPI) C.Itoh 8510A and Apple Imagewriter printers.
  1120.  
  1121.     For key assignments for dviscr and dvivik, see <K> and <T>.
  1122.  
  1123.     When using transformations 1 through 7, some restrictions apply:
  1124.  
  1125.     - \special{em:graph} doesn't work and will be ignored
  1126.  
  1127.     - dvihplj cannot use built-in fonts (see the description of font
  1128.       substitution files for details) unless using an HP LaserJet III
  1129.       or later.
  1130.  
  1131.     When using transformations 4 through 7, dvihplj cannot use
  1132.     built-in fonts (see the description of font substitution files for
  1133.     details).
  1134.  
  1135.  
  1136. 3.4.3 Moving the output on the sheet
  1137. ------------------------------------
  1138.  
  1139. +left-margin  /l#
  1140.  
  1141.     Left margin: The output will be moved # to the right.  The de-
  1142.     fault value is 0in.  This option is intended to be set in a con-
  1143.     figuration file or environment variable to adjust the margins for
  1144.     your particular printer.  To find the correct value of this option
  1145.     for your printer, print adjust.dvi with the option +left-margin:0
  1146.     and measure the distance from the left margin to the printed
  1147.     square.  Take an inch (25.4 mm) off this, change the sign, and
  1148.     set +left-margin to the resulting value.  The offset specified by
  1149.     +left-margin is always measured from the left of the sheet and is
  1150.     not affected by +transformation.  See also +page-left-margin.
  1151.  
  1152.     The following example moves output right by 1 cm:
  1153.  
  1154.         +left:1cm
  1155.  
  1156. +top-margin  /t#
  1157.  
  1158.     Top margin.  The output will be moved down the sheet by #.  The de-
  1159.     fault value is 0in.  This option is intended to be set in a con-
  1160.     figuration file or environment variable to adjust the margins for
  1161.     your particular printer.  To find the correct value of this option
  1162.     for your printer, print adjust.dvi with the option +top-margin:0
  1163.     and measure the distance from the top edge of the paper to the
  1164.     square.  Take 1 inch (25.4mm) from this, change the sign, and
  1165.     set +top-margin to the resulting value.  The offset specified by
  1166.     +top-margin is always measured from the top of the sheet and is
  1167.     not affected by +transformation.  See also +page-top-margin.
  1168.  
  1169. +page-left-margin  /al#
  1170.  
  1171.     This option specifies the (logical) left margin of a page.
  1172.     This left margin is always to the left of the page, subject to
  1173.     +transformation.  The default value is 1in, as assumed by most TeX
  1174.     formats.
  1175.  
  1176. +page-top-margin  /at#
  1177.  
  1178.     This option specifies the (logical) top margin of a page.  This
  1179.     top margin is always above the page, subject to +transformation.
  1180.     The default value is 1in, as assumed by most TeX formats.
  1181.  
  1182. +backside-offset-x  +backside-offset-y  /ax#  /ay#
  1183.  
  1184.     Shift backsides to make them align with the frontsides.  The
  1185.     output on backsides is moved to the right by the value
  1186.     of +backside-offset-x and is moved down by the value of
  1187.     +backside-offset-y.  On frontsides, these options are ignored.
  1188.  
  1189.     With +double-sided:off and +double-sided:odd, the values
  1190.     of +backside-offset-x and +backside-offset-y are ignored.
  1191.     With +double-sided:even, the values of +backside-offset-x
  1192.     and +backside-offset-y are applied to all sides.  With
  1193.     +double-sided:long and +double-sided:short, the side first printed
  1194.     is considered a frontside.
  1195.  
  1196.     Both values may be negative to move in the opposite direction.
  1197.     The default value of both options is 0in.
  1198.  
  1199.  
  1200. 3.5 Producing booklets and books, n-up printing
  1201. -----------------------------------------------
  1202.  
  1203. The options described here are used for printing multiple pages on
  1204. a side, optionally suitable for folding and saddle-stitching in the
  1205. middle.  Basically, there are two applications of printing multiple
  1206. pages on a side:
  1207.  
  1208. 1.  Making a booklet or book.  See +section-count and +section-size
  1209.     for details.
  1210.  
  1211. 2.  Printing multiple pages on a sheet to save paper.  In this case,
  1212.     the pages are arranged on the sheets in the order they are
  1213.     read from the DVI file, left to right, top to bottom.  See the
  1214.     description of +page-list-file for figures.
  1215.  
  1216. Additionally, you can assign each page to one of the locations defined
  1217. by +rows, +columns, +page-width and +page-height by supplying a file
  1218. containing a list of pages.  See +page-list-file for details.
  1219.  
  1220.  
  1221. 3.5.1 Defining the locations of the pages on a sheet
  1222. ----------------------------------------------------
  1223.  
  1224. +columns  +rows  /ac#  /ar#
  1225.  
  1226.     Use these options to specify the number of columns and rows of
  1227.     pages on a side.  The default value is 1 for both options, telling
  1228.     the driver to put one page on each side.  The number of pages to
  1229.     be printed side by side is set by +columns.  The number of pages
  1230.     to be printed above one another is set by +rows.
  1231.  
  1232.     The meaning of `side by side' depends on the +transformation and
  1233.     +fold-other options.  For +portrait-mode and +fold-other:off
  1234.     (the default values), the meaning is the usual one.  Choosing
  1235.     +fold-other:on reverses the meaning of `rows' and `columns'.
  1236.     Choosing a transformation which flips the X and Y axes
  1237.     (+landscape-mode, for instance) reverses the meaning of `rows' and
  1238.     `columns'.
  1239.  
  1240.     The number of pages per side is the product of the values of +rows
  1241.     and +columns.
  1242.  
  1243. +page-height  +page-width   /ah#  /aw#
  1244.  
  1245.     These options set the height and width, respectively, of
  1246.     the pages.  These values define the vertical and horizontal
  1247.     distance of the pages arranged in the grid defined by +columns
  1248.     and +rows.  The default value of +page-height is 11in, the de-
  1249.     fault value of +page-width is 8.5in.  These options are ignored
  1250.     unless +columns or +rows is set to a value greater than 1.  The
  1251.     location of a page within the grid is defined by +page-left-margin
  1252.     and +page-top-margin.  As for those options, the meaning of
  1253.     +page-height and +page-width is also affected by +transformation.
  1254.  
  1255.  
  1256. 3.5.2 Arranging the pages
  1257. -------------------------
  1258.  
  1259. +page-list-file  /pp*
  1260.  
  1261.     Set the path name of the page list file (the value is a tem-
  1262.     plate, see below for details).  If the value is empty (which is
  1263.     the default), no page list file is used.  If a page list file is
  1264.     specified with +page-list-file, the pages are distributed to sides
  1265.     according to the contents of this file.
  1266.  
  1267.     For each side to be printed, there is one line in the file.  Each
  1268.     line contains one entry for each page per side (see +columns and
  1269.     +rows).  If there are R rows, the first R entries are for the
  1270.     first row, the next R entries are for the second row, and so on:
  1271.  
  1272.         +portrait-mode
  1273.         
  1274.         ┌───┐  ┌───┐  ┌───┐
  1275.         │1 2│  │1 2│  │1 2│
  1276.         └───┘  │3 4│  │3 4│
  1277.                └───┘  │5 6│
  1278.                       └───┘
  1279.         
  1280.         +landscape-mode
  1281.         
  1282.         ┌─┐  ┌───┐  ┌─────┐
  1283.         │2│  │2 4│  │2 4 6│
  1284.         │1│  │1 3│  │1 3 5│
  1285.         └─┘  └───┘  └─────┘
  1286.  
  1287.     Note that this is subject to +fold-other.
  1288.  
  1289.     An entry is either `-' to leave that position empty or a page
  1290.     index (the pages of the DVI file are assigned page indices
  1291.     sequentially, starting with 1 for the first page) to select this
  1292.     page into the row and column associated with the entry.  Entries
  1293.     are separated by spaces.
  1294.  
  1295.     Lines starting with `%' and empty lines are ignored.  You can put
  1296.     a comment after the last entry of a line by preceding the comment
  1297.     with at least one space and a `%' character.
  1298.  
  1299.     If a page list file is used, the +blank-pages and +page-shift op-
  1300.     tions are ignored.
  1301.  
  1302.     Here's an example of a page list file:
  1303.  
  1304.         % Sample page list file
  1305.         % For use with +columns:2 +rows:1
  1306.         
  1307.         1 8             % Side 1
  1308.         2 7             % Side 2
  1309.         3 6             % Side 3
  1310.         4 5             % Side 4
  1311.  
  1312. +section-count  +section-size   /an#  /az#
  1313.  
  1314.     To produce a book or a booklet, use one of these options, together
  1315.     with the options for defining the locations of pages on sides
  1316.     (+rows, +columns, etc.).
  1317.  
  1318.     If +section-count or +section-size is set to a non-zero value,
  1319.     the pages are rearranged to make sheets which can be made into
  1320.     a booklet or a book consisting of several sections by cutting,
  1321.     folding and saddle-stitching in the middle.  To make a booklet,
  1322.     take the stack of sheets of one section, cut and sort it (if there
  1323.     are more than 2 pages per side), then fold it once.  Now you can
  1324.     saddle-stitch the stack in the middle.  To make a book, make a
  1325.     booklet from each section and bind the booklets into a book.
  1326.  
  1327.     The number of sections (booklets) is either set by +section-count
  1328.     (which defines the number of sections) or computed from the value
  1329.     of +section-size (which defines the number of booklet sheets per
  1330.     section, that is the number of pages per section divided by 4).
  1331.     If both +section-count and +section-size are set to a non-zero
  1332.     value, +section-count supersedes +section-size.  A warning message
  1333.     is displayed if the values of +section-count and +section-size
  1334.     disagree.
  1335.  
  1336.     If +section-count or +section-size is set to a non-zero value,
  1337.     the driver assumes that you want to make a book or booklet.
  1338.     Therefore, it aborts with an error message if one of the following
  1339.     conditions is false:
  1340.  
  1341.     - A page list file must not be used (+page-list-file should have
  1342.       an empty value).
  1343.  
  1344.     - The number of columns of pages (+columns) must be even (and
  1345.       greater than one).
  1346.  
  1347.     The default value for +section-count and +section-size is 0.  If
  1348.     both +section-count and +section-size are set to 0, no book is
  1349.     produced.
  1350.  
  1351.     The last section can be smaller than the preceding sections of a
  1352.     book.  See +full-last-section for details.
  1353.  
  1354. +full-last-section  /ae+
  1355.  
  1356.     If the number of pages of a book isn't an integral multiple of the
  1357.     number of pages per section, there will be some empty pages in the
  1358.     last section.  By default (+full-last-section:off), the driver
  1359.     reduces the size of the last section to minimize the number of
  1360.     blank pages at the end of the section.  Use +full-last-section:on
  1361.     to make the last section the same size as the other sections,
  1362.     i.e., output blank pages as necessary.
  1363.  
  1364.  
  1365. 3.5.3 Special effects
  1366. ---------------------
  1367.  
  1368. +blank-pages  /ab#
  1369.  
  1370.     Insert blank pages at the beginning, shifting all selected pages.
  1371.     The default value is 0, which means not to insert blank pages.
  1372.     This option can be used for leaving room for a title page, without
  1373.     having to put a blank page into the DVI file (which can be quite
  1374.     difficult).  Note that +blank-pages modifies the way pages are
  1375.     arranged on sheets and therefore affects the page selection.
  1376.     +blank-pages is ignored if +page-list-file is used.
  1377.  
  1378. +fold-other  /af+
  1379.  
  1380.     Use +fold-other:on to arrange the pages for folding the other
  1381.     way.  By default (+fold-other:off), the driver assumes that you
  1382.     want to get `left' and `right' pages.  However, a calendar, for in-
  1383.     stance, has `top' and `bottom' pages.  To achieve this effect, use
  1384.     +fold-other:on.
  1385.  
  1386. +page-shift  /as#
  1387.  
  1388.     Shift the pages to compensate for the paper thickness.  When
  1389.     making a booklet, `outer' pages are shifted away from the fold by
  1390.     the value of +page-shift, multiplied by the number of layers.  The
  1391.     innermost pair of pages is not shifted.  To find the correct value
  1392.     of +page-shift, start at about 1.5 times (pi/2) the thickness of
  1393.     the paper.
  1394.  
  1395.  
  1396. 3.5.4 Examples
  1397. --------------
  1398.  
  1399. To make a portrait-mode booklet by printing in landscape mode, putting
  1400. two A5 pages on an A4 side (no cutting is required), use the following
  1401. options:
  1402.  
  1403.     +columns:2 +rows:1 +section-count:1
  1404.     +page-width:149mm +page-height:210mm
  1405.     +landscape-mode +double-sided:short
  1406.  
  1407. If your printer does not support +double-sided:short, you have to
  1408. use +double-sided:odd, then reinsert the paper (turning around the
  1409. short edge, that is, upside down) and use +double-sided:even.  Use
  1410. +backside-offset-y to align the frontside and the backside.
  1411.  
  1412. To make a portrait-mode booklet by printing in portrait mode, putting
  1413. four A6 pages on an A4 side (requiring cutting all the sheets into
  1414. two), use the following options:
  1415.  
  1416.     +columns:2 +rows:2 +section-count:1
  1417.     +page-width:105mm +page-height:149mm
  1418.     +portrait-mode +double-sided:long
  1419.  
  1420. If your printer does not support +double-sided:long, you have to use
  1421. +double-sided:odd, then reinsert the paper (turn around the long edge)
  1422. and use +double-sided:even.  Use +backside-offset-x to align the
  1423. frontside and the backside.
  1424.  
  1425. Additionally, you should set +page-shift in all cases.  Adjust the
  1426. +page-width and +page-height values to control the distance between
  1427. the pages.
  1428.  
  1429.  
  1430. 3.6 Magnification and resolution
  1431. --------------------------------
  1432.  
  1433. Some of the options described here are set in the configuration files
  1434. that come with the drivers.
  1435.  
  1436.  
  1437. 3.6.1 Setting the resolution
  1438. ----------------------------
  1439.  
  1440. +resolution  /r#
  1441.  
  1442.     Set the resolution.  +resolution-x sets the horizontal resolution,
  1443.     +resolution-y the vertical and +resolution:# both at once.  The
  1444.     default value is 300, dvidot uses the value set in the parame-
  1445.     ter file.  These values are in dots per inch (DPI).  Make sure
  1446.     that the appropriate fonts are available!  A number of parameters
  1447.     can only be calculated when the resolution is known: the driver
  1448.     will only convert the values when all the options have been read,
  1449.     therefore the +resolution option doesn't have be the first one.
  1450.     See also +font-resolution.  The configuration files that come with
  1451.     the drivers set +resolution appropriately.
  1452.  
  1453.     The following example sets the resolution to 180 DPI:
  1454.  
  1455.         +resol:180
  1456.  
  1457. +font-resolution  /rf#
  1458.  
  1459.     Set the font resolution, the argument is in DPI.  This option
  1460.     will usually be used together with +font-scaling.  The hori-
  1461.     zontal and vertical resolution can be set individually with
  1462.     +font-resolution-x and +font-resolution-y.  If +font-resolution
  1463.     is omitted, the value used for the font will be that set by
  1464.     +resolution.  The configuration files that come with the drivers
  1465.     set +font-resolution appropriately.
  1466.  
  1467. +graphics-resolution  /rg#
  1468.  
  1469.     Set the resolution for the graphics files, the argument is in
  1470.     DPI.  This option merely sets the values which will be used for
  1471.     @r in +graphics-files.  The horizontal and vertical resolution
  1472.     can be set individually with +graphics-resolution-x and
  1473.     +graphics-resolution-y.  If +graphics-resolution is omitted, the
  1474.     value used will be that set by +resolution.
  1475.  
  1476.  
  1477. 3.6.2 Setting the magnification
  1478. -------------------------------
  1479.  
  1480. +magnification  /m#
  1481.  
  1482.     the magnification in the DVI file is replaced by # which can take
  1483.     any value from 100 to 16000.  The values are the same as those
  1484.     used for \mag, that is, the magnification multiplied by 1000
  1485.     (+magnification:1000 gives the normal size) or as h, 0 to 5, they
  1486.     represent \magstephalf, \magstep0 to \magstep5.  The values 6 to
  1487.     9 will be interpreted similarly.  Note that fonts in the sizes
  1488.     chosen are required.
  1489.  
  1490.     The following example replaces the magnification with sqrt(2):
  1491.  
  1492.         +mag:1414.21356
  1493.  
  1494.     The following example replaces the magnification with sqrt(1.2):
  1495.  
  1496.         +mag:h
  1497.  
  1498.  
  1499. 3.7 Directory and file name options
  1500. -----------------------------------
  1501.  
  1502. The following options accept templates to specify a number of
  1503. different search paths for files.  See section 3.14 for details about
  1504. templates.  Some of the options described here are set in the configu-
  1505. ration files that come with the drivers.
  1506.  
  1507.  
  1508. 3.7.1 Search paths
  1509. ------------------
  1510.  
  1511. When using a search path for finding a file, the first successful
  1512. expansion of the template will be used.
  1513.  
  1514. +dvi-file  /pd*
  1515.  
  1516.     the template used when searching for the DVI file (input file).
  1517.     @i will be replaced with the name of the DVI file (the default ex-
  1518.     tension DVI has been already attached if necessary).  The default
  1519.     value is @i, telling the driver just to look for the specified
  1520.     file.  The configuration files change the setting of +dvi-file
  1521.     to seek DVI files in the current working directory and in the
  1522.     directories listed in the DVIDRVINPUT environment variable.
  1523.  
  1524.     The following example tells the driver to search the specified di-
  1525.     rectory, d:\dvi, and d:\mytex:
  1526.  
  1527.         +dvi-f:{,d:\dvi\,d:\mytex\}@i
  1528.  
  1529. +font-files  /pf*
  1530.  
  1531.     the template used when locating font files (PK, PXL and VF files).
  1532.     @f will be replaced with the name of the font.  dvidot reads the
  1533.     default value from the parameter file, the default value for all
  1534.     other drivers is
  1535.  
  1536.         \texfonts\pixel.lj\@Rrdpi\@f.{pk,pxl}
  1537.  
  1538.     which -- when used for finding the font `cmr10 scaled 1200' with
  1539.     +font-resolution:300 -- tries to open the files
  1540.  
  1541.         \texfonts\pixel.lj\360dpi\cmr10.pk
  1542.  
  1543.     and
  1544.  
  1545.         \texfonts\pixel.lj\360dpi\cmr10.pxl
  1546.  
  1547.     in this sequence.  However, the configuration files that come with
  1548.     the drivers change +font-files to use the DVIDRVFONTS environment
  1549.     variable.  fx.cnf, for instance, uses the template
  1550.  
  1551.         $DVIDRVFONTS:pixel.fx\@Rrdpi\@f{.pk,.pxl}
  1552.  
  1553.     To use VF files, specify the path of the VF files with +font-files
  1554.     or with +virtual-fonts.  Example:
  1555.  
  1556.         +font-files:$DVIDRVFONTS:{pixel.fx\@Rrdpi\@f{.pk,.pxl},vf\@f.vf}
  1557.  
  1558. +graphics-files  /pg*
  1559.  
  1560.     the template used when locating graphics files (MSP, PCX and BMP
  1561.     files).  @f will be replaced with the name of the picture.  The de-
  1562.     fault value
  1563.  
  1564.         @PBf{@Ef,.msp,.pcx,.bmp}
  1565.  
  1566.     makes the driver look for the following files:
  1567.  
  1568.         name (@f)    │ files
  1569.         ─────────────┼──────────────────────────────────────────────────
  1570.         test         │ test.       test.msp    test.pcx    test.bmp
  1571.         test.ext     │ test.ext    test.msp    test.pcx    test.bmp
  1572.         \g\test      │ \g\test.ext \g\test.msp \g\test.pcx \g\test.bmp
  1573.  
  1574.     However, the configuration files that come with the drivers change
  1575.     +graphics-files to use the DVIDRVGRAPH environment variable:
  1576.  
  1577.         {,$DVIDRVGRAPH:}{@Rrdpi\,}@PBf{@Ef,.msp,.pcx,.bmp}
  1578.  
  1579.     The following example works like the default value, but also
  1580.     searches the directories given in the DVIDRVGRAPH environment vari-
  1581.     able:
  1582.  
  1583.         +graph.f:{,$DVIDRVGRAPH:}@PBf{@Ef,.msp,.pcx}
  1584.  
  1585. +response-files  /pr*
  1586.  
  1587.     the template used when searching for response files (@name).  @f
  1588.     will be replaced with the name of the response file.  The default
  1589.     value is {,$EMTEX:data\}@f, which makes the driver search the
  1590.     specified directory (or the current working directory, if the name
  1591.     of the response file doesn't specify a directory) and then the
  1592.     `data' subdirectory of the emTeX directory.
  1593.  
  1594.     The following example searches the specified directory, c:\emtex,
  1595.     and d:\mytex for response files.  The specified extension is tried
  1596.     first, then CNF:
  1597.  
  1598.         +response-files:{,c:\emtex\,d:\mytex\}@PBf{@Ef,.cnf}
  1599.  
  1600. +tfm-files  /pm*
  1601.  
  1602.     the template for TFM files.  Character width information is
  1603.     required for invisible fonts, fonts whose characters should be
  1604.     turned into rectangles (/b, /r, and /w in font substitution files
  1605.     or /b, /r, and /w user input while searching for fonts) and for
  1606.     built-in printer fonts.  If no font could be found, TFM files
  1607.     can be used for those fonts, but then, the sizes of the black
  1608.     rectangles must be estimated.  Use +tfm-files to tell the drivers
  1609.     how to transform font names into TFM file names.  The default
  1610.     is {$TEXTFM:,$EMTEX:tfm\}@f.  The default extension is TFM.  If
  1611.     +use-tfm-files:on is active, TFM files will also be read for fonts
  1612.     whose characters should be printed.
  1613.  
  1614.     In the following example, TFM files are located in the directory
  1615.     d:\fonts\tfm:
  1616.  
  1617.         +tfm-f:d:\fonts\tfm\@f
  1618.  
  1619. +virtual-fonts  /pv*
  1620.  
  1621.     the template for VF files (virtual fonts), in addition to
  1622.     +font-files.  @f will be replaced with the name of the font.
  1623.     If the template is non-empty, the driver will search for
  1624.     virtual fonts before searching a font in the font libraries
  1625.     (+font-libraries) and in single files (+font-files).  If you don't
  1626.     want to replace existing fonts with virtual fonts, you should use
  1627.     +virtual-fonts: (with an empty template), which is the default
  1628.     value, to speed up font search.
  1629.  
  1630.     In the following example, VF files are located in directory
  1631.     c:\fonts\vf, the file name extension is VF:
  1632.  
  1633.         +virt:c:\fonts\vf\@f.vf
  1634.  
  1635.  
  1636. 3.7.2 Input files
  1637. -----------------
  1638.  
  1639. For input files, all expansions of the template will be used
  1640. successively.
  1641.  
  1642. +init-files  /pi*
  1643.  
  1644.     printer initialization files.  The files given by +init-files will
  1645.     be sent to the printer immediately after it has been reset.  You
  1646.     may use a template for giving more than one file.
  1647.  
  1648.     The following example sends the files unidir.p6 and init.p6 to the
  1649.     printer:
  1650.  
  1651.         +init-f:unidir.p6,init.p6
  1652.  
  1653. +font-libraries  /pl*
  1654.  
  1655.     the template for the fonts libraries to be used.  Fonts are sought
  1656.     first in these libraries and then as single files.  Font libraries
  1657.     can be created with fontlib.  The default extension is FLI.  The
  1658.     configuration files that come with the drivers set +font-libraries
  1659.     appropriately, using the DVIDRVFONTS environment variable.
  1660.  
  1661.     The following example lets the driver look for the font libraries
  1662.     lj_0.fli, lj_h.fli, ..., lj_sli.fli in the directories given in
  1663.     the DVIDRVFONTS environment variable.  If this environment vari-
  1664.     able lists more than one directory, you'll probably get some
  1665.     warning messages about missing files:
  1666.  
  1667.         +font-lib:$DVIDRVFONTS:lj_{0,h,1,2,3,4,5a,5b,sli}
  1668.  
  1669. +font-subst-files  /ps*
  1670.  
  1671.     the names of the font substitution files.  The default is no font
  1672.     substitution file.  You can use a template.  The driver searches
  1673.     font substitution files in the specified directory (or the current
  1674.     working directory, if the name doesn't specify a directory) and
  1675.     then in the `data' subdirectory of the emTeX directory.  The de-
  1676.     fault extension is SUB.
  1677.  
  1678.     The following example reads the three files circle.sub, sub1.sub,
  1679.     and sub2.sub:
  1680.  
  1681.         +f.subst:circle,sub1,sub2
  1682.  
  1683.  
  1684. 3.7.3 Output files
  1685. ------------------
  1686.  
  1687. For output files, only the first expansion of the template will be
  1688. used.
  1689.  
  1690. +mfjob-file  /pj*
  1691.  
  1692.     Name of the file created when missing fonts are to be gener-
  1693.     ated by calling MFjob.  See also +metafont-mode.  When calling
  1694.     a driver via the dvidrv.exe program, this option will be set
  1695.     automatically to the name of a temporary file.  The default value
  1696.     is {$TMP:,}dv@u.mfj, that is, a file named dv#.mfj is created
  1697.     under OS/2, where # is a number that is chosen by the driver to
  1698.     not overwrite an existing file.  The file will be created in the
  1699.     directory specified by the TMP environment variable.  If TMP is
  1700.     not set, the file will be created in the current working direc-
  1701.     tory.  Under DOS, the default value causes MFjob not to be called,
  1702.     as @u is used.  The file will be created only if there are missing
  1703.     fonts, a METAFONT mode has been set with +metafont-mode and a file
  1704.     name has been set with +mfjob-file.
  1705.  
  1706. +default-output-file  /po*
  1707.  
  1708.     this option sets the default name of the output file.  If the
  1709.     driver is called without an output file name, this name will be
  1710.     used.  Default value: no default output file.  You can use a tem-
  1711.     plate, but only the first expansion will be used.  This option is
  1712.     used only to set the default; to specify the output file name when
  1713.     running a driver, enter the file name directly without using this
  1714.     option.
  1715.  
  1716.     With the following example, output goes to LPT1 unless an output
  1717.     file name is given on the command line:
  1718.  
  1719.         +def.out:lpt1
  1720.  
  1721. +transcript-file  /pt*
  1722.  
  1723.     the name of the log file (transcript file).  The default is `@d',
  1724.     ie, the name of the driver with extension DLG (for instance,
  1725.     dviscr.dlg).  All output that follows the input of the files and
  1726.     options is written to this file.  It also contains the current
  1727.     settings of all the options for the run.  The +transcript-file: op-
  1728.     tion suppresses the creation of a log file.  A log file can later
  1729.     be used as a response file to set up the same conditions again.
  1730.     You can use a template, but only the first expansion will be used.
  1731.  
  1732.     In the following example, the name of the DVI file with file name
  1733.     extension DLO in the current working directory will be used for
  1734.     the log file:
  1735.  
  1736.         +tr.file:@Bi.dlo
  1737.  
  1738. +fontlib-file  /pw*
  1739.  
  1740.     Write a fontlib response file.  A text file containing the fontlib
  1741.     commands to insert the fonts used in the run into a font library
  1742.     will be generated.  To generate only this response file use the
  1743.     option +number-of-sides:0.  You can use a template, but only the
  1744.     first expansion will be used.
  1745.  
  1746.     For example, the fontlib call for
  1747.  
  1748.         +fontlib-file:new.cmd
  1749.  
  1750.     is
  1751.  
  1752.         fontlib new /k @new.cmd
  1753.  
  1754.  
  1755. 3.8 Miscellaneous options
  1756. -------------------------
  1757.  
  1758. Options which don't fit any of the categories above are described
  1759. here.
  1760.  
  1761.  
  1762. 3.8.1 Meta options
  1763. ------------------
  1764.  
  1765. These options deal with options.
  1766.  
  1767. +options  //
  1768.  
  1769.     Prompt for options.  When +options is used the driver will prompt
  1770.     for further options, this can be useful when the options required
  1771.     exceed the permitted length of the command line.  This option is
  1772.     not supported by dvipm.
  1773.  
  1774. +unit  /u*
  1775.  
  1776.     This option sets the default dimension unit to be used when none
  1777.     is given.  The default is inch.  The following dimension units can
  1778.     be used (cf. The TeXbook p. 57)
  1779.  
  1780.     pt      point (1/72.27in)
  1781.  
  1782.     pc      pica (12pt)
  1783.  
  1784.     in      inch (default)
  1785.  
  1786.     bp      big point (1/72in)
  1787.  
  1788.     cm      centimeter
  1789.  
  1790.     mm      millimeter
  1791.  
  1792.     dd      didot point (1238/1157pt)
  1793.  
  1794.     cc      cicero (12dd)
  1795.  
  1796.     sp      scaled point (1/65536pt)
  1797.  
  1798.     px      Pixel (resolution independent)
  1799.  
  1800.     All these units must be entered in lowercase.  The +unit option
  1801.     affects all following options.
  1802.  
  1803.     The following example is INVALID, megameters are somewhat
  1804.     impractical:
  1805.  
  1806.         +unit:Mm
  1807.  
  1808.  
  1809. 3.8.2 Memory management
  1810. -----------------------
  1811.  
  1812. +use-ems  /xe+
  1813.  
  1814.     Use expanded memory (EMS) under DOS.  The default setting is
  1815.     +use-ems:on, which enables usage of EMS.  +use-ems:off disables
  1816.     usage of EMS, data will be swapped to disk if there isn't enough
  1817.     main memory.  EMS 4.0 or later is required.
  1818.  
  1819. +use-xms  /xx+
  1820.  
  1821.     Use extended memory (EMS) under DOS.  The default setting is
  1822.     +use-xms:on, which enables usage of XMS.  +use-xms:off disables
  1823.     usage of XMS, data will be swapped to disk if there isn't enough
  1824.     main memory.
  1825.  
  1826.  
  1827. 3.9 Additional options for dviscr and dvivik
  1828. --------------------------------------------
  1829.  
  1830. Unless otherwise noted, these options are available for both dviscr
  1831. and dvivik.
  1832.  
  1833.  
  1834. 3.9.1 Configuration
  1835. -------------------
  1836.  
  1837. +adapter  /oa#
  1838.  
  1839.     Adapter setting for dviscr, the possible values are:
  1840.  
  1841.     0       automatic selection (default)
  1842.  
  1843.     1       CGA 640x200
  1844.  
  1845.     2       EGA 640x350 or 640x200
  1846.  
  1847.     3       VGA 640x480
  1848.  
  1849.     4       Hercules Graphics Card 720x348, not under OS/2
  1850.  
  1851.     5       GENOA SuperEGA 800x600, not under OS/2
  1852.  
  1853.     6       Paradise VGA 800x600, not under OS/2
  1854.  
  1855.     7       Video Seven VGA 800x600, not under OS/2
  1856.  
  1857.     8       Tseng Labs EVA 800x600, not under OS/2
  1858.  
  1859.     9       HP Vectra 640x400, not under OS/2
  1860.  
  1861.     10      MDS Genius (PRIMUS II) 728x1008, not under OS/2
  1862.  
  1863.     11      EGA 640x200, 16 colors
  1864.  
  1865.     12      EGA 640x350, 16 colors
  1866.  
  1867.     13      EGA 640x350, 16/64 colors
  1868.  
  1869.     14      VGA 640x480, 16 colors
  1870.  
  1871.     15      VGA 640x480, 16/64 colors
  1872.  
  1873.     16      VGA 640x480, 16/262144 colors
  1874.  
  1875.     17      EGA 640x350, black and white
  1876.  
  1877.     18      VGA 640x480, black and white
  1878.  
  1879.     19      Olivetti M24 640x400, not under OS/2
  1880.  
  1881.     20      Adapter Interface 1024x768 (8514/A), not under OS/2.
  1882.             HDILOAD or another program providing the Adapter Interface
  1883.             must be loaded.
  1884.  
  1885.     Further adapter-specific modes may be used with the following ex-
  1886.     tension of this option:
  1887.  
  1888.         +adapter:M;W;H;AX;BX
  1889.  
  1890.     where M is a number which describes the adapter and display
  1891.     combination:
  1892.  
  1893.     100     EGA with monochrome display
  1894.  
  1895.     101     EGA with 16 color display
  1896.  
  1897.     102     EGA with 64 color display
  1898.  
  1899.     103     VGA with analogue color display,
  1900.  
  1901.     W is the screen width in pixels (320 to 1024), and H is the screen
  1902.     height in pixels (200 to 1024).
  1903.  
  1904.     The graphics mode is set by loading registers AX and BX with the
  1905.     arguments AX and BX before calling interrupt 10H.  AX and BX must
  1906.     be given in hexadecimal.  `;BX' can be omitted if BX is to be set
  1907.     to zero.  The semicolons may be replaced with colons if desired.
  1908.     If (W/8)*H exceeds 65536 then H will be reduced to 65536/(W/8).
  1909.     In consequence, 1024x768 is not supported.  You are responsible
  1910.     for entering the correct values, the manual for your adapter can
  1911.     sometimes give further help.  Example: the graphics mode selected
  1912.     by +adapter:13 can be represented as
  1913.  
  1914.         +adapter:102:640:350:0010
  1915.  
  1916.     and mode +adapter:7 is the same as
  1917.  
  1918.         +adapter:103:800:600:6f05:62
  1919.  
  1920.     Here's a list of values (without warranty) for some graphics
  1921.     adapters:
  1922.  
  1923.     Acumos AVGA2, AVGA3                         /oa103:800:600:58
  1924.     Advance Logic AL2101                        /oa103:800:600:2B
  1925.     Ahead V5000                                 /oa103:800:600:71
  1926.     ATI VGAWONDER, Graphics Ultra etc.          /oa103:800:600:54
  1927.     Chips and Technologies                      /oa103:800:600:6A
  1928.     Cirrus Logic CL-GD 500/600                  /oa103:800:600:64
  1929.     Cirrus Logic GD 5422                        /oa103:800:600:58
  1930.     Compaq VGA                                  /oa103:800:600:59
  1931.     CTI                                         /oa103:800:600:6A
  1932.     Diamond Stealth                             /oa103:800:600:4F02:0102
  1933.     Everex                                      /oa103:800:600:70:02
  1934.     Genoa 5xxx, Sigma VGA                       /oa103:800:600:29
  1935.     Genoa 6xxx                                  /oa103:800:600:6A
  1936.     MXIC MX 68010                               /oa103:800:600:55
  1937.     NCR 77C22                                   /oa103:800:600:58
  1938.     OAK Technologies OTI-067, OTI-077, OTI037C  /oa103:800:600:52
  1939.     OAK Technologies OTI037C w/ NEL BIOS        /oa103:800:600:5B
  1940.     Orchid Prodesigner                          /oa103:800:600:29
  1941.     Paradise                                    /oa103:800:600:58
  1942.     Poach                                       /oa103:800:600:6A
  1943.     Primus                                      /oa103:800:600:2A
  1944.     Realtek RT 3106                             /oa103:800:600:1F
  1945.     S3                                          /oa103:800:600:4F02:0102
  1946.     Tecmar                                      /oa103:800:600:16
  1947.     Trident 8900                                /oa103:800:600:5B
  1948.     Tseng ET-3000, ET-4000                      /oa103:800:600:29
  1949.     VEGA                                        /oa103:800:600:29
  1950.     VESA compatible adapters                    /oa103:800:600:4F02:0102
  1951.     Video 7 SVGA                                /oa103:800:600:62
  1952.     WD90C11                                     /oa103:800:600:5C
  1953.     Western Digital                             /oa103:800:600:58
  1954.  
  1955.     If you spot something wrong in this table, please send the correct
  1956.     values to the author.
  1957.  
  1958. +color  /oc#
  1959.  
  1960.     Set the colors to be used by dviscr (only with EGA or VGA).  The
  1961.     possible values are 0 to 15, the default is /oc:2 (green).  You
  1962.     can set different colors for the various screen elements:
  1963.  
  1964.     /ocp:#  paper border
  1965.  
  1966.     /ocr:#  ruler
  1967.  
  1968.     /ocs:#  status line
  1969.  
  1970. +home-x  +home-y  /hx#  /hy#
  1971.  
  1972.     Set the initial position on the side to be displayed in the top
  1973.     left corner of the screen.  A new page will be displayed in this
  1974.     position and pressing the <Home> key will cause the current side
  1975.     to be displayed in this position.  +home-x:0 +home-y:0 is the top
  1976.     left-hand corner of the sheet.  +home-x:1in +home-y:1in is the de-
  1977.     fault setting.
  1978.  
  1979. +inverse  /oi+
  1980.  
  1981.     Inverse display.  Use +inverse:off (default) to display black on
  1982.     a white background, use +inverse:on to display white on black
  1983.     background.
  1984.  
  1985. +zoom  /o#
  1986.  
  1987.     Reduce the size of the displayed side by using gray scales
  1988.     (dviscr).  A rectangle of X x Y pixels will be displayed as one
  1989.     pixel on the screen.  +zoom:# sets both X and Y, +zoom-x sets X
  1990.     alone and +zoom-y sets Y alone.  An EGA (with 16 color display)
  1991.     or a VGA adapter is required.  If both X and Y are 1, there is no
  1992.     gray scale display.  X and Y can take values from 1 to 8.  The
  1993.     implementation is optimized for +zoom-x values of 1, 2, 3, 4 and
  1994.     8.  Setting +zoom-x to 5 or 7 makes the driver almost unusably
  1995.     slow.  If +scaling:1 is set (no scaling) and gray scale is enabled
  1996.     with +zoom but the adapter does not support gray scales, the +zoom
  1997.     values are used for scaling instead, that is, +zoom:3 is the same
  1998.     as +zoom:1 +scaling:3.
  1999.  
  2000.     Example:
  2001.  
  2002.         +z.x:4 +z.y:2
  2003.  
  2004. +ruler  /or+
  2005.  
  2006.     Enable the ruler (default is no ruler).
  2007.  
  2008. +status-line  /os+
  2009.  
  2010.     Enable status line (default).  If the status line is disabled,
  2011.     there will be a beep at the beginning and end of text or numeric
  2012.     input.
  2013.  
  2014. +ruler-unit  /ou*
  2015.  
  2016.     Select the dimension for the ruler and the status line (default is
  2017.     pt).
  2018.  
  2019. +scaling  /s#
  2020.  
  2021.     Reduce the size of the output page; this allows more of the
  2022.     side to be seen on the screen.  The pixels in a rectangle of
  2023.     width +scaling-x pixels and height +scaling-y pixels will be dis-
  2024.     played as a single pixel.  +scaling:# sets both X and Y to the
  2025.     same value.  Possible values range from 1 to 8.  If fonts in
  2026.     suitable resolutions are available then it is better to change
  2027.     the resolution with +resolution (by using a different configura-
  2028.     tion file) as reduced characters are not pretty.  Even better, use
  2029.     gray scaling -- see +zoom, but only with an EGA or VGA card and a
  2030.     16 (or 64) color display.  If gray scaling is not possible, then
  2031.     scaling can be set with +zoom, too.
  2032.  
  2033.     The following example halves the resolution (both X and Y):
  2034.  
  2035.         +scaling:2
  2036.  
  2037.     The following example reduces the width to 1/4 and halves the
  2038.     height:
  2039.  
  2040.         +s.x:4 +s.y:2   
  2041.  
  2042.  
  2043. 3.10 Additional options for dvipm
  2044. ---------------------------------
  2045.  
  2046. Note that some settings can be changed only by using the menus and
  2047. dialog boxes.
  2048.  
  2049.  
  2050. 3.10.1 Configuration
  2051. --------------------
  2052.  
  2053. +bitmap-memory-limit  /om#
  2054.  
  2055.     Maximum size in Kbytes of the temporary bitmaps.  The default
  2056.     value is 512, that is, at most 512 Kbytes will be used for tempo-
  2057.     rary bitmaps.  Values between 0 and 65535 can be set.  If your
  2058.     machine has much memory, you can improve the speed by increasing
  2059.     this value.  If your machine has little memory, you can improve
  2060.     the speed by decreasing this value.
  2061.  
  2062. +home-x  +home-y  /hx#  /hy#
  2063.  
  2064.     Set the initial position on the side to be displayed in the top
  2065.     left corner of the screen.  A new side will be displayed in this
  2066.     position and pressing the <Home> key will cause the current side
  2067.     to be displayed in this position.  +home-x:0 +home-y:0 is the top
  2068.     left corner of the sheet.  +home-x:1in +home-y:1in is the default
  2069.     setting.
  2070.  
  2071. +ruler-unit  /ou*
  2072.  
  2073.     Select the dimension for the ruler and for displaying the cursor
  2074.     position (default is pt).
  2075.  
  2076. +scaling  /s#
  2077.  
  2078.     Reduce the size of the displayed page, this allows more of the
  2079.     side to be seen in the window.  The pixels in a rectangle of
  2080.     width +scaling-x pixels and height +scaling-y pixels will be dis-
  2081.     played as a single pixel.  +scaling:# sets both X and Y to the
  2082.     same value.  Possible values range from 1 to 8.  If fonts in
  2083.     suitable resolutions are available then it is better to change the
  2084.     resolution with +resolution (by using a different configuration
  2085.     file) as reduced characters are not pretty.
  2086.  
  2087. +zoom  /o#
  2088.  
  2089.     Reduce the size of the displayed side by using gray scales.  A
  2090.     rectangle of X x Y pixels will be displayed as one pixel on
  2091.     the screen.  +zoom:# sets both X and Y, +zoom-x sets X alone
  2092.     and +zoom-y sets Y alone.  If both X and Y are 1, there is no
  2093.     gray scale display.  X and Y can take values from 1 to 8.  The
  2094.     implementation is optimized for +zoom-x values of 1, 2, 4, 6 and
  2095.     8.  Setting +zoom-x to 5 or 7 makes the driver almost unusably
  2096.     slow.
  2097.  
  2098.     Example:
  2099.  
  2100.         +z.x:4 +z.y:2
  2101.  
  2102.  
  2103. 3.11 Additional options for dvidot when printing on a dot matrix printer
  2104. ------------------------------------------------------------------------
  2105.  
  2106. dvidot has two principal modes of operation: printing on a dot matrix
  2107. printer and creating bitmap files.  The mode is selected by the parame-
  2108. ter file.  This section describes the options applying to printing on
  2109. a dot matrix printer.
  2110.  
  2111.  
  2112. 3.11.1 Options for all parameter files
  2113. --------------------------------------
  2114.  
  2115. +close  /os#
  2116.  
  2117.     Close and reopen the output file after printing # sheets at
  2118.     a time.  For instance, this is useful for use with printer
  2119.     spoolers.  +close:0 (the default setting) disables this feature,
  2120.     that is, the output file will be closed once at the end of the
  2121.     print job.  Prior to closing the output file, the printer will
  2122.     be reset.  After reopening the output file, the printer will be
  2123.     reinitialized.  This effectively splits the output of dvidot into
  2124.     several print jobs, allowing printing to start while more pages
  2125.     are being output.
  2126.  
  2127. +double-sided:long  +double-sided:short  /d:l  /d:s
  2128.  
  2129.     Double-sided printing, the printer automatically prints on both
  2130.     sides of the paper.  +double-sided:long is used for long-edge
  2131.     binding (the sheets are bound along the length of the sheet),
  2132.     +double-sided:short is used for short-edge binding (the sheets
  2133.     are bound along the width of the sheet).  The +copy-file and
  2134.     +copy-sheets options work as expected with +double-sided:long and
  2135.     +double-sided:short.  This option cannot be used with all param-
  2136.     eter files (in fact, there is currently no parameter file which
  2137.     enables +double-sided:long or +double-sided:short).
  2138.  
  2139. +final-formfeed
  2140.  
  2141.     If +final-formfeed:on is active, a formfeed will be sent to the
  2142.     printer after printing the last sheet.  This is the default.
  2143.     +final-formfeed:off suppresses the final formfeed.  That may be
  2144.     desired if the operating system automatically appends a formfeed.
  2145.  
  2146. +final-reset  /oe+
  2147.  
  2148.     Reset printer after each print job.  This is the default.  You can
  2149.     suppress resetting the printer by using +final-reset:off.
  2150.  
  2151. +initial-formfeed
  2152.  
  2153.     If +initial-formfeed is active, a formfeed will be sent to the
  2154.     printer before printing the first sheet.  +initial-formfeed:off
  2155.     suppresses the initial formfeed.  This is the default.
  2156.  
  2157. +pause  /oa+
  2158.  
  2159.     Pause between printing sheets and wait for keyboard input to
  2160.     allow for changing paper.  The page number of the side to be
  2161.     printed will be displayed in brackets preceding the prompt.  When
  2162.     you type <Return>, the next sheet will be printed.  If you type
  2163.     <A><Return>, all following sheets will be printed without pausing.
  2164.     If you type <Q><Return>, printing will be stopped.
  2165.  
  2166. +xon-xoff  /ox+
  2167.  
  2168.     Use XON/XOFF flow control for COM1 to COM4 or use the BIOS for
  2169.     LPT1 to LPT4.  Output to COM1 to COM4 will be sent directly
  2170.     to the port.  If XON/XOFF protocol is to be used then the out-
  2171.     put file must be given as COM1, COM2, COM3, or COM4.  Output to
  2172.     LPT1 to LPT4 will be done via the BIOS, not via DOS.  To use the
  2173.     BIOS to output to the parallel port, the output file must be
  2174.     given as LPT1, LPT2, LPT3, or LPT4.  +xon-xoff will be ignored
  2175.     for any other output file (for example, AUX, PRN, file.prn).  If
  2176.     +xon-xoff:off is entered or the output is not to COM1 to COM4 or
  2177.     LPT1 to LPT4, then output will performed using DOS functions.
  2178.     This option is unnecessary under OS/2 and is not supported.
  2179.  
  2180.  
  2181. 3.11.2 Options for all parameter files but itoh.dot and aiw.dot
  2182. ---------------------------------------------------------------
  2183.  
  2184. +slow  /s+
  2185.  
  2186.     Printer slower, but with better quality.  Depending on the param-
  2187.     eter file, +slow:on causes dvidot to make two passes per line of
  2188.     output (fx80.dot, for instance), to use unidirectional print mode
  2189.     (fx80l.dot, for instance), or to tell the printer to use more ink
  2190.     (bj300h.dot, for instance).
  2191.  
  2192.     When making two passes per line of output, every line will be
  2193.     printed twice, the first time printing dots 1, 3, 5, and so on and
  2194.     the second time printing dots 2, 4, 6, and so on.  The default
  2195.     setting (+slow:off) prints about twice as fast but with poorer
  2196.     quality on some antique printers (FX-80, for instance) that find
  2197.     it difficult to fire a needle on two consecutive positions.
  2198.  
  2199.  
  2200. 3.11.3 Options for the parameter files itoh.dot and aiw.dot
  2201. -----------------------------------------------------------
  2202.  
  2203. +form-length  /hf#
  2204.  
  2205.     Set the page length.  For page ejects to work properly the page
  2206.     length must be set.  If the page length is set to 0 (0in, for ex-
  2207.     ample, the default) the length defined by +height is taken as the
  2208.     page length.
  2209.  
  2210. +slow  /s+
  2211.  
  2212.     Slow mode.  By selecting +slow:on printing will be unidirectional
  2213.     (itoh.dot sets also incremental print mode); the default,
  2214.     +slow:off, sets bidirectional printing (itoh.dot sets also logic
  2215.     seek mode).
  2216.  
  2217.  
  2218. 3.12 Additional options for dvidot when generating graphics files
  2219. -----------------------------------------------------------------
  2220.  
  2221. dvidot has two principal modes of operations: printing on a dot matrix
  2222. printer and creating bitmap files.  The mode is selected by the param-
  2223. eter file.  This section describes the options applying to generating
  2224. graphics files.
  2225.  
  2226.  
  2227. 3.12.1 Controlling the bitmap file
  2228. ----------------------------------
  2229.  
  2230. +inverse  /oi+
  2231.  
  2232.     Inverse output.  Use +inverse:off (default) to display black on
  2233.     a white background, use +inverse:on to display white on black
  2234.     background.
  2235.  
  2236. +minimize  /om+
  2237.  
  2238.     Create the smallest picture possible.  The size of the rectangular
  2239.     clipping region around the picture will be reduced to eliminate
  2240.     (almost) all white space:  the clipping rectangle will always be
  2241.     set so that the picture touches the top, bottom and left-hand
  2242.     edges but there may be some blank pixels between the rightmost
  2243.     point of the picture and the right-hand edge of the rectangle
  2244.     to make the width an integral multiple of 8, 16 or 32 pixels
  2245.     (see parameter file).  Zero and positive values of +left-margin
  2246.     and +top-margin are ignored; by setting these values negative,
  2247.     however, you can bring the left-hand or top edge (or both) of the
  2248.     clipping rectangle inwards to cut off unwanted parts of the pic-
  2249.     ture.  The default is +minimize:off: the file will contain a pic-
  2250.     ture of height set by +height and width set by +width.
  2251.  
  2252.  
  2253. 3.13 Additional options for dvihplj
  2254. -----------------------------------
  2255.  
  2256.  
  2257. 3.13.1 General options
  2258. ----------------------
  2259.  
  2260. +close  /os#
  2261.  
  2262.     Close and reopen the output file after printing # sheets at
  2263.     a time.  For instance, this is useful for use with printer
  2264.     spoolers.  +close:0 (the default setting) disables this feature,
  2265.     that is, the output file will be closed once at the end of the
  2266.     print job.  Note: # is given as number of sheets to ensure that
  2267.     both the frontside and the backside are printed on the same
  2268.     sheet if double-sided printing is in effect (+double-sided:long
  2269.     or +double-sided:short).  Prior to closing the output file, the
  2270.     printer will be reset.  After reopening the output file, the
  2271.     printer will be reinitialized.  This effectively splits the out-
  2272.     put of dvihplj into several print jobs, allowing printing to start
  2273.     while more pages are being output.  See also +clear-fonts.
  2274.  
  2275. +delete-fonts  /oz+
  2276.  
  2277.     Delete temporary printer fonts.  The default is +delete-fonts:on.
  2278.     Use +delete-fonts:off to suppress deletion of temporary fonts;
  2279.     don't forget to adjust +memory to reflect the memory used by the
  2280.     temporary fonts.
  2281.  
  2282. +double-sided:long  +double-sided:short  /d:l  /d:s
  2283.  
  2284.     Double-sided printing, the printer (HP LaserJet III D, for in-
  2285.     stance) automatically prints on both sides of the paper.
  2286.     +double-sided:long is used for long-edge binding (the sheets are
  2287.     bound along the length of the sheet), +double-sided:short is used
  2288.     for short-edge binding (the sheets are bound along the width of
  2289.     the sheet).  The +copy-file and +copy-sheets options work as
  2290.     expected with +double-sided:long and +double-sided:short.
  2291.  
  2292. +final-formfeed
  2293.  
  2294.     If +final-formfeed:on is active, a formfeed will be sent to the
  2295.     printer after printing the last sheet.  This is the default.
  2296.     +final-formfeed:off suppresses the final formfeed.  That may be
  2297.     resired if the operating system automatically appends a formfeed.
  2298.  
  2299. +final-reset  /oe+
  2300.  
  2301.     Reset printer after each print job.  This is the default.  You can
  2302.     suppress resetting the printer by using +final-reset:off.
  2303.  
  2304. +font-offset  /of#
  2305.  
  2306.     Set the initial value for font ID numbers.  The default is 0,
  2307.     acceptable values are 0 to 32736.  The fonts downloaded by dvihplj
  2308.     to the printer will be given numbers from # to #+31.  This option
  2309.     allows the user to avoid overwriting fonts which have already been
  2310.     downloaded which the user does not want deleted.  However, dvihplj
  2311.     will delete all temporary fonts unless +delete-fonts:off is given.
  2312.  
  2313. +initial-formfeed
  2314.  
  2315.     If +initial-formfeed is active, a formfeed will be sent to the
  2316.     printer before printing the first sheet.  +initial-formfeed:off
  2317.     suppresses the initial formfeed.  This is the default.
  2318.  
  2319. +initial-reset  /oi+
  2320.  
  2321.     Reset printer before starting the print job.  This is the de-
  2322.     fault.  You can suppress resetting the printer by using
  2323.     +initial-reset:off.
  2324.  
  2325. +manual-feed
  2326.  
  2327.     Feed paper from manual input.  +manual-feed is a shorthand for
  2328.     +source:2.
  2329.  
  2330. +source
  2331.  
  2332.     Select the paper source.  With +source:0, which is the default
  2333.     setting, the selection of the paper source is left to the printer,
  2334.     depending on +paper.  Other settings are 1 through 6.  The meaning
  2335.     of those numbers depend on the printer model; see the user's
  2336.     manual of the printer for details.  See also +manual-feed.
  2337.  
  2338. +paper
  2339.  
  2340.     Select the paper size.  Valid arguments are:
  2341.  
  2342.     A3      A3 (297mm x 420mm)
  2343.  
  2344.     A4      A4 (210mm x 297mm)
  2345.  
  2346.     B5      B5 envelopes (176mm x 250mm)
  2347.  
  2348.     C5      C5 envelopes (162mm x 229mm)
  2349.  
  2350.     Com-10  Com-10 business envelopes (4.125in x 9.5in)
  2351.  
  2352.     DL      DL envelopes (110mm x 220mm)
  2353.  
  2354.     Exec    Executive (7.25in x 10.5in)
  2355.  
  2356.     Ledger  Ledger (11in x 17in)
  2357.  
  2358.     Legal   Legal (8.5in x 14in)
  2359.  
  2360.     Letter  Letter (8.5in x 11in)
  2361.  
  2362.     Monarch
  2363.             Monarch letter envelopes (3.875in x 7.5in)
  2364.  
  2365.     The argument is case-independent.  If this option is used without
  2366.     argument (+paper -- this is the default), the +width and +height
  2367.     options are used for setting the size of the paper.  If this op-
  2368.     tion is used with one of the above arguments, the +width and
  2369.     +height options are ignored by dvihplj.  Moreover, on the HP
  2370.     LaserJet series II and later, this option selects the paper tray
  2371.     -- the printer asks you to insert another paper supply if the
  2372.     selected paper size is not available.
  2373.  
  2374. +pause  /oa+
  2375.  
  2376.     Pause between printing sheets and wait for keyboard input to
  2377.     allow for changing paper.  The page number of the page to be
  2378.     printed will be displayed in brackets preceding the prompt.  When
  2379.     you type <Return>, the next sheet will be printed.  If you type
  2380.     <A><Return>, all following sheets will be printed without pausing.
  2381.     If you type <Q><Return>, printing will be stopped.
  2382.  
  2383. +printer-resolution  /og#
  2384.  
  2385.     Set printing resolution of printer.  The default setting is 0,
  2386.     which causes the printing resolution to be chosen according to the
  2387.     printer model:
  2388.  
  2389.         +printer-model │ Resolution
  2390.         ───────────────┼───────────
  2391.         deskjet        │ 300
  2392.         deskjet500j    │ 300
  2393.         kyocera        │ 300
  2394.         laserjet       │ 300
  2395.         paintjet       │ 180
  2396.         quietjet       │ 192
  2397.         thinkjet       │ 192
  2398.  
  2399.     You can use +printer-resolution to choose a different resolution.
  2400.     You should also set +resolution when setting +printer-resolution.
  2401.  
  2402. +xon-xoff  /ox+
  2403.  
  2404.     Use XON/XOFF flow control for COM1 to COM4, use the BIOS for out-
  2405.     put to LPT1 to LPT4.  See dvidot's +xon-xoff option for details.
  2406.  
  2407.  
  2408. 3.13.2 Selecting the printer model
  2409. ----------------------------------
  2410.  
  2411. +printer-model  /op*
  2412.  
  2413.     Select the printer model.  This option tells dvihplj for which
  2414.     printer model to generate output.  The following settings are
  2415.     available (additional options are required for settings marked
  2416.     (*)):
  2417.  
  2418.         +printer-model │ Printer model
  2419.         ───────────────┼───────────────────────────────────
  2420.         deskjet        │ HP DeskJet (500, 550)
  2421.         deskjet500j    │ HP DeskJet 500J (Japanese version)
  2422.         kyocera        │ Kyocera F-1010
  2423.         laserjet       │ HP LaserJet+ (and later models)
  2424.         paintjet       │ HP PaintJet (*)
  2425.         quietjet       │ HP QuietJet (*)
  2426.         thinkjet       │ HP ThinkJet (*)
  2427.  
  2428.     The default is +printer-model:laserjet.  The argument is
  2429.     case-independent.
  2430.  
  2431.     For +printer-model:paintjet, you have to set the resolution to 180
  2432.     DPI and to use correct fonts, for instance, by using the p6l.cnf
  2433.     configuration file.
  2434.  
  2435.     For +printer-model:quietjet and +printer-model:thinkjet, you have
  2436.     to set the resolution to 192 DPI and to use correct fonts.
  2437.  
  2438.  
  2439. 3.13.3 Using additional features of a printer
  2440. ---------------------------------------------
  2441.  
  2442. +compression  /or#
  2443.  
  2444.     Set graphics compression mode.  You can set values in the range -1
  2445.     to 2.  The value 0 causes graphics data to be sent uncompressed.
  2446.     The value 1 causes graphics data to be sent either uncompressed
  2447.     or run-length encoded, depending on what method yields less data.
  2448.     The value 2 causes graphics data to be sent uncompressed or TIFF
  2449.     4.0 compressed, depending on what method yields less data.  The
  2450.     value -1 (default) lets dvihplj choose the compression mode
  2451.     automatically based on the printer model:
  2452.  
  2453.         +printer-model │ compression mode
  2454.         ───────────────┼─────────────────
  2455.         deskjet        │ 2
  2456.         deskjet500j    │ 2
  2457.         kyocera        │ 0
  2458.         laserjet       │ 0
  2459.         paintjet       │ 1
  2460.         quietjet       │ 0
  2461.         thinkjet       │ 0
  2462.  
  2463.     If your printer model supports compression, you can decrease the
  2464.     amount of output data by using +compression:1 or +compression:2.
  2465.     The HP LaserJet III, for instance, supports +compression:2.
  2466.  
  2467. +download-limit
  2468.  
  2469.     Limit the size of download characters.  Character bigger than this
  2470.     many bytes of memory (8 pixels are packed in one byte) are not
  2471.     downloaded to the printer.  dvihplj uses graphics mode for print-
  2472.     ing big characters.  You might want to use this option to save
  2473.     printer memory when printing big characters which are used once or
  2474.     rarely.  The default is +download-limit:32767.  You can use values
  2475.     between 0 (don't download any character) and 32767.
  2476.  
  2477. +draft
  2478.  
  2479.     Use +draft:on to print in draft mode (EconoMode) to save toner.
  2480.     This option does not affect the resolution.  Currently, only the
  2481.     HP LaserJet 4L, 4ML, 4P and 4MP printers support draft mode.  The
  2482.     default is +draft:off.
  2483.  
  2484. +fonts-per-side  /ow#
  2485.  
  2486.     Maximum number of fonts per output page.  If more than this
  2487.     many fonts are required per output page, error message 2502
  2488.     will be issued and the run aborted.  The default is 16.  Newer
  2489.     printers support more than 16 fonts per output page; if you
  2490.     are using such a printer, you can use set a bigger value for
  2491.     +fonts-per-side to avoid error 2502.  You should enter this option
  2492.     when using built-in printer fonts.  The maximum value is 32767.
  2493.     +fonts-per-side:0 disables both checking the number of fonts per
  2494.     page and checking the number of fonts per job.
  2495.  
  2496. +job-offset  /oj+
  2497.  
  2498.     Job offset.  Some printers can offset sheets sideways in the out-
  2499.     put tray.  +job-offset:on will cause the output position to be
  2500.     switched to the alternate offset so that the results of a sequence
  2501.     of print jobs can be separated more easily.
  2502.  
  2503. +memory  /om#
  2504.  
  2505.     Printer memory size.  This sets the available memory on the
  2506.     printer in Kbytes: the default is 394.  When dvihplj needs
  2507.     more printer memory than specified with the +memory option,
  2508.     the print job is aborted with fatal error 2501.  If this value
  2509.     is set to 0 then there will be no test for memory overflow.
  2510.     If fonts are permanently downloaded then this value must be
  2511.     appropriately reduced.  +memory does not affect optimization or
  2512.     any other property of the output.  This option will be ignored if
  2513.     +printer-model:deskjet or +printer-model:deskjet500j is set.
  2514.  
  2515.     The following example tells dvihplj that there are 1500 Kbytes of
  2516.     printer memory available:
  2517.  
  2518.           Example:    +mem:1500
  2519.  
  2520.  
  2521. 3.13.4 Solving compatibility problems
  2522. -------------------------------------
  2523.  
  2524. +full-page-bitmap  /ob+
  2525.  
  2526.     If +full-page-bitmap:on is active, the sides will be printed using
  2527.     a full-page bitmap.  If +full-page-bitmap:off is set, download
  2528.     fonts will be used.  +full-page-bitmap:on may be required if your
  2529.     printer is not sufficiently compatible to the LaserJet+.  The op-
  2530.     tions +printer-model:deskjet and +printer-model:deskjet500j set
  2531.     +full-page-bitmap:on.
  2532.  
  2533. +clear-fonts  /oc#
  2534.  
  2535.     Delete all temporary fonts after every # pages.  This may help
  2536.     when there is not enough printer memory for holding all required
  2537.     fonts, but requires more time.  Default is 0: don't delete
  2538.     fonts.  +clear-fonts:0 may be required if your printer is not
  2539.     sufficientlycompatible to the LaserJet+.
  2540.  
  2541. +optimize-graphics  /oo+
  2542.  
  2543.     Optimize graphics output.  If +optimize-graphics:on is active
  2544.     (default), bytes of zeros at the start and end of graphics
  2545.     rows and -- if +compression:0 and +printer-model:laserjet or
  2546.     +printer-model:kyocera is set -- wide gaps in graphics rows will
  2547.     be not transferred.  If +optimize-graphics:off is set, only
  2548.     bytes of zeros at the end of graphics rows will be omitted.
  2549.     +optimize-graphics:off may be required if your printer is not
  2550.     sufficiently compatible to the HP LaserJet+.
  2551.  
  2552. +negative-top-offset  /ov+
  2553.  
  2554.     Setting +negative-top-offset:off may fix vertical placement
  2555.     of characters which don't extend above the base line with
  2556.     some printers (Toshiba PageLaser6, for instance).  If
  2557.     +negative-top-offset:on (default) is used, the Top Offset parame-
  2558.     ter of down load characters whose pixels are entirely below the
  2559.     base line is negative.  With +negative-top-offset:off, dvihplj
  2560.     will fill the character to the base line to make Top Offset 0.
  2561.     This requires more memory.
  2562.  
  2563.  
  2564. 3.14 An introduction to templates
  2565. ---------------------------------
  2566.  
  2567. The earlier versions of the drivers used $s and $r to insert the
  2568. values of the font resolution and the PXL magnification into font
  2569. filenames; this facility has now been extended and the drivers use
  2570. templates to construct filenames from the parameters they are given,
  2571. such as the name and the resolution of a font.  Note that the earlier
  2572. $s and $r are no longer valid and must be replaced by @RVr and @Rr
  2573. respectively.  The template can be a constant, i.e., the file name
  2574. does not depend on any of the parameters, or it can evaluate to more
  2575. than one filename which will then be used in sequence.  The evaluation
  2576. of a template is called its expansion.
  2577.  
  2578. A template which is not constant contains one or more template
  2579. characters which are comma (,), dollar sign ($), at sign (@) and
  2580. left and right braces ({}).  A template which contains a dollar sign
  2581. or a comma may expand to more than one filename.  If these template
  2582. characters are to appear as literal characters then they must be
  2583. preceded by the at sign (@) -- a literal dollar sign must be written
  2584. `@$'.
  2585.  
  2586. Multiple expansions are necessary when a font, or other file, can be
  2587. in one of several different directories; each expansion is evaluated
  2588. and the result is used to search for the file required, if the search
  2589. fails, the next part of the template is expanded and the process
  2590. continues until the file is found or there are no further expansions.
  2591.  
  2592.  
  2593. 3.14.1 The simplest example of a template -- a constant template
  2594. ----------------------------------------------------------------
  2595.  
  2596. The template
  2597.  
  2598.     dviscr.dlg
  2599.  
  2600. which is intended for the +transcript-file option, simply contains the
  2601. filename: the expansion does not depend on any parameters and is just
  2602. this filename.
  2603.  
  2604.  
  2605. 3.14.2 A simple example of a template
  2606. -------------------------------------
  2607.  
  2608. In the template
  2609.  
  2610.     @d.dlg
  2611.  
  2612. `@d' is replaced by the name of the driver; if this is dvihplj then
  2613. this template will expand into `dvihplj.dlg'.  Every driver has this
  2614. template as its default setting for the +transcript-file option as the
  2615. driver name is known by the time the template is expanded.
  2616.  
  2617.  
  2618. 3.14.3 Template parameters
  2619. --------------------------
  2620.  
  2621. These are the template parameters, any of these parameters in a tem-
  2622. plate will be replaced by the value given in the table below.
  2623.  
  2624. @d      replaced by one of the following driver names: dvihplj,
  2625.         dviscr, dvivik, dvipm, dvidot.
  2626.  
  2627. @f      replaced by the font name or the graphics filename; this pa-
  2628.         rameter is to be used in conjunction with the +font-files and
  2629.         +graphics-files options.
  2630.  
  2631. @i      replaced by the name of the DVI file.
  2632.  
  2633. @p      magstep: 0 to 9, h for magstephalf or u for unknown -- for use
  2634.         with the +font-files option.
  2635.  
  2636. @m      METAFONT mode -- see the description of the +metafont-mode op-
  2637.         tion.
  2638.  
  2639. @b      base resolution of the fonts in DPI -- see the description of
  2640.         the +font-resolution option.
  2641.  
  2642. @r      font resolution in DPI, a decimal fraction -- for use with the
  2643.         +font-files option.
  2644.  
  2645. @g      magnification, a decimal fraction -- for use with the
  2646.         +font-files option, for example, 1.2
  2647.  
  2648. @u      a number to make the file name unique -- for use with the
  2649.         +mfjob-file option only
  2650.  
  2651. These parameters can be modified by inserting one or more letters
  2652. between the `@' and the parameter letter.  For instance, the earlier
  2653. $s, which was replaced by the PXL magnification of a font, must now be
  2654. written @RVr.  The modifiers for the various parameters are described
  2655. below.
  2656.  
  2657.  
  2658. 3.14.4 Forming multiple expansions with a list
  2659. ----------------------------------------------
  2660.  
  2661. Many of the driver options require a list of files, for instance, the
  2662. +font-libraries option takes a list of font library filenames.  The
  2663. simplest way to do this is by entering a list of names separated by
  2664. commas but this is not always very convenient as it requires a lot of
  2665. typing and the length of a template is limited to 127 characters.
  2666.  
  2667. Because of this limitation, this example does not contain the usual
  2668. set of font libraries:
  2669.  
  2670.     +font-lib:c:\texfonts\fx_0.fli,c:\texfonts\fx_1.fli,c:\texfonts\fx_2.fli
  2671.  
  2672. Note that earlier version of the drivers used semicolons as
  2673. separators, in this version the names are separated by commas.  Spaces
  2674. are not allowed in templates as they are used to separate options in
  2675. the command line.
  2676.  
  2677.  
  2678. 3.14.5 Forming multiple expansions with alternatives
  2679. ----------------------------------------------------
  2680.  
  2681. It is clear from the preceding example that the expansions have quite
  2682. a lot of text in common, only differing, in this example, by one
  2683. digit.  Templates therefore allow common text to be factored out with
  2684. the differing parts presented as a series of alternatives enclosed in
  2685. braces.  The example above may be expressed in this way as follows:
  2686.  
  2687.     +font-libraries:c:\texfonts\fx_{0,1,2}.fli
  2688.  
  2689. In expanding this template, the alternatives are selected in order
  2690. starting with the first after the opening brace.  The template is
  2691. evaluated with this choice and the result used by the driver; if the
  2692. driver requests another candidate, the template is evaluated a second
  2693. time using the second alternative which (in this example) lies between
  2694. the first and second commas.  A third expansion would be constructed
  2695. using the third alternative which appears after the second comma and
  2696. before the closing brace.
  2697.  
  2698. Any number of alternatives may appear between the opening and
  2699. closing braces.  The text of an alternative may also be null as in
  2700. `{}' or `{,a}': in the first case the expansion is empty, in the
  2701. second case the first choice is empty, the second consisting only of
  2702. `a'.  It it also possible to have only one choice as in {abc} which
  2703. always evaluates as `abc' -- the braces in this case are not needed.
  2704. Naturally the choices need not have the same length as, for example,
  2705. in:
  2706.  
  2707.     +font-libraries:c:\texfonts\lj_{0,1,2,3,4,5a,5b,sli}.fli
  2708.  
  2709. A simple list of filenames separated by commas is a special case
  2710. of a set of alternatives.  The driver automatically encloses a tem-
  2711. plate in opening and closing braces so the list appears as a list of
  2712. alternatives.  If only one filename appears then it is a constant
  2713. choice as shown above in `{abc}'.
  2714.  
  2715.  
  2716. 3.14.6 Multiple sets of alternatives
  2717. ------------------------------------
  2718.  
  2719. When searching for font files it is useful to be able to construct a
  2720. pattern with more than one set of alternatives in it.  With templates
  2721. you can not only do this but you can also nest alternatives.  The
  2722. expansion of such a template consists of all possible combinations in
  2723. lexicographical order, that is, with the rightmost alternative in the
  2724. template changing most rapidly.
  2725.  
  2726. An example will best clarify this:  the template
  2727.  
  2728.     {1,2}{1,a{1,2}}
  2729.  
  2730. will give the following sequence of expansions
  2731.  
  2732.     11
  2733.     1a1
  2734.     1a2
  2735.     21
  2736.     2a1
  2737.     2a2
  2738.  
  2739. The template
  2740.  
  2741.     {0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}{0,1,2,3,4,5,6,7,8,9}
  2742.  
  2743. will expand into all the three digit numbers from 000 to 999 in in-
  2744. creasing numerical order.
  2745.  
  2746. An example of this facility in use:
  2747.  
  2748.     +font-files:{c:\texfonts\,d:\myfonts\,}@f{.pk,.pxl}
  2749.  
  2750. Note the empty alternative in the first pair of braces, this will have
  2751. the effect of searching the current directory for the fonts if they
  2752. are not found in either c:\texfonts or d:\myfonts.  This may also be
  2753. written
  2754.  
  2755.     +font-files:{c:\texfonts\,d:\myfonts\,.}@f{.pk,.pxl}
  2756.  
  2757. This is not the best way of handling alternative directories, in the
  2758. next section the advantages of keeping directory names in environment
  2759. variables rather than explicitly in options will be pointed out.
  2760.  
  2761.  
  2762. 3.14.7 Environment variables
  2763. ----------------------------
  2764.  
  2765. The names of directories are more conveniently kept in environment
  2766. variables so that, when the disk is reorganized it is not necessary to
  2767. edit all the configuration files.  To further support this use of en-
  2768. vironment variables, they may also appear in templates.  The name of
  2769. the variable is sandwiched between a dollar sign ($) and a colon (:)
  2770. as in $DVIDRVFONTS: for instance.  The name of an environment vari-
  2771. able to be used in a template may not contain any of the special tem-
  2772. plate characters, that is, @ { , or } (at sign, comma and opening
  2773. and closing braces) -- this may be changed in a future release as
  2774. @d would be very useful in this regard, $@d: would expand into the
  2775. driver's special environment variable (DVIFX, DVILQL etc).  The envi-
  2776. ronment variable is treated as if it was an alternative enclosed in
  2777. braces, the list of directories the variable contains (here separated
  2778. by semicolons, not commas) are entered into the expansion one at a
  2779. time in the order they appear in the variable.  If a directory name in
  2780. the environment variable does not end in `:', `/' or `\' then a `\' is
  2781. automatically appended.  Empty directory positions in the list, for in-
  2782. stance the two in
  2783.  
  2784.     SET PATH=C:\DOS;;\D:\BIN;
  2785.  
  2786. will be ignored -- a template containing $PATH: set as above would
  2787. expand in exactly the same way if the SET command was
  2788.  
  2789.     SET PATH=C:\DOS;\D:\BIN
  2790.  
  2791. The contents of the environment variable may include template
  2792. parameters (@b and @r are likely candidates) but alternatives are not
  2793. allowed.
  2794.  
  2795. Please note that $EMTEX: is a special case, to be described below.
  2796.  
  2797. An example of the use of an environment variable in a template:
  2798.  
  2799.     +response-files:$PATH:@f
  2800.  
  2801. The response file @f will be searched for in all the directories
  2802. in the PATH variable -- note that `\' will be appended wherever
  2803. necessary.  If the file should be sought first in the current direc-
  2804. tory, the template should be extended to
  2805.  
  2806.     +response-files:{,$PATH:}@f
  2807.  
  2808. which is the default setting.  If PATH has the value `c:\dos;;\;f:'
  2809. and the response file name (@f) is `test.res' then the template will
  2810. expand to the following sequence of pathnames:
  2811.  
  2812.     test.res
  2813.     c:\dos\test.res
  2814.     \test.res
  2815.     f:test.res
  2816.  
  2817. that is, {,$PATH:}@f is evaluated in the same way as
  2818. {,c:\dos,,\,f:}@f, the construction $PATH: being replaced by the value
  2819. of PATH.
  2820.  
  2821. Appending ! or !! to a directory name in the environment variable
  2822. enables subdirectory search.  If ! is appended, that directory and one
  2823. level of subdirectories are searched; if !! is appended, that direc-
  2824. tory and all levels of subdirectories are searched.  Directories are
  2825. visited before their subdirectories; no other search order is defined.
  2826.  
  2827.  
  2828. 3.14.8 The emTeX directory ($EMTEX:)
  2829. ------------------------------------
  2830.  
  2831. EMTEX is a pseudo environment variable, expanding to the path name of
  2832. the emTeX directory.  As with real environment variables, a backslash
  2833. is added if required.  If the EMTEXDIR environment variable is set,
  2834. $EMTEX: is treated like $EMTEXDIR:.  Otherwise, the default value
  2835. `\emtex' is used.  That is, $EMTEX: can be used even if EMTEXDIR is
  2836. not set.  Therefore, it is recommended to use $EMTEX: instead of
  2837. $EMTEXDIR: in templates.
  2838.  
  2839.  
  2840. 3.14.9 Template parameter modifiers
  2841. -----------------------------------
  2842.  
  2843. Template parameters may have their expansion modified by inserting one
  2844. or more characters from the set shown below between the @ and the pa-
  2845. rameter letter.  The modifiers are:
  2846.  
  2847. 0-99 _
  2848.  
  2849.     Padding a parameter out to a given width with `0' or `_'.  A
  2850.     number from 0 to 99 will cause the parameter to be filled from the
  2851.     left with `0' or `_' -- the number of positions to be filled is
  2852.     given by the number's value.  A number appearing with a numeric pa-
  2853.     rameter will fill with zeros but appearing with a non-numeric pa-
  2854.     rameter will fill with underscores.  Use the underscore modifier
  2855.     to fill a numeric parameter with underscores instead of zeros.
  2856.  
  2857.     Examples:
  2858.  
  2859.         @r    │ @4r   │ @4_r      @f       │ @5f
  2860.         ──────┼───────┼───────    ─────────┼─────────
  2861.         1     │ 0001  │ ___1      a        │ ____a
  2862.         300   │ 0300  │ _300      abc      │ __abc
  2863.         20000 │ 20000 │ 20000     abcdefgh │ abcdefgh
  2864.  
  2865. F R T
  2866.  
  2867.     rounding and truncating real numbers
  2868.  
  2869.     F       taking the fractional part of the number (may be empty)
  2870.  
  2871.     R       rounding the number to get the integer part
  2872.  
  2873.     T       truncating the number to get the integer part
  2874.  
  2875. .0-99
  2876.  
  2877.     Decimals.  The number will be rounded to this many decimals.
  2878.     Note: The period must not be used immediately following the @, as
  2879.     `@.' has a special meaning.  Specify a field width instead, for in-
  2880.     stance `@0.2r'.
  2881.  
  2882.     Examples:
  2883.  
  2884.         @r     │ @0.3r   │ @0.2r  │ @0.1r │ @0.0r │ @7.1r   │ @R.3r
  2885.         ───────┼─────────┼────────┼───────┼───────┼─────────┼────────
  2886.         300.75 │ 300.750 │ 300.75 │ 300.8 │ 301   │ 00300.8 │ 301.000
  2887.         300.74 │ 300.740 │ 300.74 │ 300.7 │ 301   │ 00300.7 │ 301.000
  2888.         300    │ 300.000 │ 300.00 │ 300.0 │ 300   │ 00300.0 │ 300.000
  2889.  
  2890. P B E N
  2891.  
  2892.     splitting path and file names A pathname consists of three parts:
  2893.     the directory (including drive), the base name and the extension;
  2894.     the base name and the extension are separated by a dot.  For exam-
  2895.     ple:
  2896.  
  2897.         Pathname      │ Directory │ Basename │ Extension
  2898.         ──────────────┼───────────┼──────────┼──────────
  2899.         d:\test\a.dvi │ d:\test\  │ a        │ dvi
  2900.         xxx           │           │ xxx      │
  2901.         xxx.zzz       │           │ xxx      │ zzz
  2902.         c:xxx         │  c:       │ xxx      │
  2903.         a.b.c         │           │ a.b      │ c
  2904.  
  2905.     Without a modifier, @f and @i will be replaced by the full
  2906.     pathname of the file; using a modifier allows you to replace or
  2907.     omit parts of the name.  The modifiers below will cause the full
  2908.     pathname to be replaced by:
  2909.  
  2910.     P       the directory portion of the pathname
  2911.  
  2912.     B       the basename
  2913.  
  2914.     E       a dot followed by the extension
  2915.  
  2916.     N       the basename, a dot (only if there is an extension) and
  2917.             the extension.
  2918.  
  2919.     More than one of these modifiers can be used with a single param-
  2920.     eter, in which case they will be applied in the order P, B, E --
  2921.     @BEf will be expanded as if written @Bf@Ef.  If none of these
  2922.     modifiers appear, the parameter will be replaced by the unchanged
  2923.     pathname (PBE will end with a dot if there is no extension).
  2924.  
  2925.     If an @f or @Pf parameter has a non-empty a directory part when
  2926.     evaluated and it is not at the start of the expansion, that
  2927.     is, preceded by at least one character, then that expansion
  2928.     is silently ignored.  This is done to avoid undesirable or
  2929.     nonsensical expansions which would otherwise arise from templates
  2930.     such as
  2931.  
  2932.         {c:\fonts\,}@f
  2933.  
  2934.     In this example, if @f expands to \ec\emr10 (non-empty directory
  2935.     part) then the expansion
  2936.  
  2937.         c:\fonts\\ec\emr10
  2938.  
  2939.     will be discarded and only the expansion
  2940.  
  2941.         \ec\emr10
  2942.  
  2943.     will be used.  If, however, @f expands to emr10 (filename only)
  2944.     then the two expansions
  2945.  
  2946.         c:\fonts\emr10
  2947.         emr10
  2948.  
  2949.     will be used.  Examples:
  2950.  
  2951.         @f    │ @Pf │ @Bf │ @Ef │ @BEf │ @Nf
  2952.         ──────┼─────┼─────┼─────┼──────┼────
  2953.         b     │     │ b   │ .   │ b.   │ b
  2954.         b.e   │     │ b   │ .e  │ b.e  │ b.e
  2955.         p\b   │ p\  │ b   │ .   │ b.   │ b
  2956.         p\b.e │ p\  │ b   │ .e  │ b.e  │ b.e
  2957.  
  2958. M V
  2959.  
  2960.     Multiplication by a constant.  M multiplies a numeric parameter by
  2961.     1000 and V multiplies by 5.  This allows the generation of direc-
  2962.     tory or file names which depend on the font magnification as PXL
  2963.     font names do, for instance
  2964.  
  2965.         @r  │ pxl@RVr
  2966.         ────┼────────
  2967.         300 │ pxl1500
  2968.  
  2969.     or names which depend in the magnification:
  2970.  
  2971.         @g   │ @Mg
  2972.         ─────┼─────
  2973.         1.44 │ 1440
  2974.  
  2975.     If more than one M or V modifier appears on the same parameter,
  2976.     all but the rightmost one will be ignored.
  2977.  
  2978.     The result is undefined on overflow (product greater than
  2979.     65535.99998).
  2980.  
  2981. X Y
  2982.  
  2983.     horizontal or vertical value.  The resolution can be different
  2984.     on the horizontal and vertical axes, these modifiers allow the
  2985.     correct value to be selected with the @b or @r parameters.  @Xb or
  2986.     just @b will select the value set by the +font-resolution-x option
  2987.     while @Yb will select that set by +font-resolution-y.  If more
  2988.     than one X or Y modifier it used with the same parameter, all but
  2989.     the rightmost one will be ignored.
  2990.  
  2991.  
  2992. 3.14.10 Default extension
  2993. -------------------------
  2994.  
  2995. To add an extension to a file name, unless the file name already has
  2996. an extension, you can use `@.'.  For instance,
  2997.  
  2998.     @f@.{msp,pcx,bmp}
  2999.  
  3000. creates the following file names:
  3001.  
  3002.     filename     │ filename.grf
  3003.     ─────────────┼─────────────
  3004.     filename.msp │ filename.grf
  3005.     filename.pcx │
  3006.     filename.bmp │
  3007.  
  3008. `@.' works this way:
  3009.  
  3010. - If the expansion produced so far doesn't contain a `.' following the
  3011.   last `:', `\' or `/' (or if the expansion contains a `.' but not
  3012.   any of those characters), the file name doesn't have an extension.
  3013.   In this case, `@.'  will be replaced by a period and expansion
  3014.   continues (with the extension).
  3015.  
  3016. - If the file name has an extension (each `.' (if any) is followed by
  3017.   `:', `\' or `/'), expansion stops at `@.' (omitting the default ex-
  3018.   tension).
  3019.  
  3020. Currently, `@.' does not work inside {...}.
  3021.  
  3022.  
  3023. 3.14.11 Summary
  3024. ---------------
  3025.  
  3026. @[0-99][_][FRT][PBEN][MV][XY](dfipmbrsg)
  3027.  
  3028.  
  3029.     0-99    pad out with 0 (numbers) or _ (other parameters)
  3030.  
  3031.     _       pad out with _
  3032.  
  3033.     .0-99   decimals (@g and @r)
  3034.  
  3035.     F       fractional part
  3036.  
  3037.     R       integer part (round)
  3038.  
  3039.     T       integer part (truncate)
  3040.  
  3041.     P       path: directory part
  3042.  
  3043.     B       base name
  3044.  
  3045.     E       extension
  3046.  
  3047.     N       as BE but no dot if there is no extension
  3048.  
  3049.     M       multiply by 1000
  3050.  
  3051.     V       multiply by 5
  3052.  
  3053.     X       select horizontal value (default, if Y does not appear)
  3054.  
  3055.     Y       select vertical value
  3056.  
  3057.     d       driver name (string)
  3058.  
  3059.     f       font or picture name (string)
  3060.  
  3061.     i       DVI filename (string)
  3062.  
  3063.     p       magstep (0..9, h, u=unknown) (string)
  3064.  
  3065.     m       METAFONT mode (string)
  3066.  
  3067.     b       basic font resolution (fraction)
  3068.  
  3069.     r       font resolution in DPI (fraction)
  3070.  
  3071.     g       magnification (fraction)
  3072.  
  3073.     u       number to make file name unique, for +mfjob-file (integer)
  3074.  
  3075. {a1,a2,a3}
  3076.  
  3077.     alternatives
  3078.  
  3079. $env:
  3080.  
  3081.     environment variables
  3082.  
  3083. @@ @, @{ @} @$
  3084.  
  3085.     special characters in templates
  3086.  
  3087. @.
  3088.  
  3089.     default extension
  3090.  
  3091.  
  3092. 3.14.12 Further examples
  3093. ------------------------
  3094.  
  3095. The examples show some uses of @g.
  3096.  
  3097.     @g  │ mag@RMg │ mag@9.3_g
  3098.     ────┼─────────┼─────────────
  3099.     1.2 │ mag1200 │ mag____1.200
  3100.  
  3101.  
  3102. 4 Managing fonts
  3103. ================
  3104.  
  3105. The dvidrv drivers will work with the following font file types:
  3106.  
  3107.     Extension  │  ID  │ Description
  3108.     ───────────┼──────┼───────────────
  3109.     PXL        │ 1001 │ (32-bit words)
  3110.     PXL        │ 1002 │ (8-bit words)
  3111.     PK         │   89 │ (packed)
  3112.  
  3113. The font files do not have to have one of these extensions as their
  3114. format is determined by their contents.  PK font files with an ID of
  3115. 87 can NOT be used!
  3116.  
  3117. The PXL file formats are obsolescent, you should use PK files instead
  3118. of PXL files.
  3119.  
  3120. In addition font libraries -- a dvidrv feature -- can be used.  These
  3121. contain several font files saving disk space and processing time.  By
  3122. gathering font files into libraries the number of files in directories
  3123. is reduced.  Disadvantages are the size of the resulting libraries and
  3124. the amount of time spent in updating fonts.  For more information see
  3125. the fontlib documentation.
  3126.  
  3127.  
  3128. 4.1 Specifying font size (resolution)
  3129. -------------------------------------
  3130.  
  3131. You may need to specify a font size when the driver can't find a font
  3132. or when you are creating a font substitution file.  The font size
  3133. is given in dots per inch (DPI) and, for TeX magsteps, will have
  3134. decimals after the point.  To avoid the calculation and entry of long
  3135. decimal numbers, there is a more convenient method of specifying
  3136. magnifications: just append a colon and the magnification step (0
  3137. to 9, or h for 0.5) to the font size.  For instance, 100:3 is an
  3138. abbreviation for 172.8 (100 * 1.2 ^ 3) and 300:h will be converted
  3139. to 328.63353.  You can also write only the colon followed by the
  3140. magnification step without an explicit font size.  In this case,
  3141. the font resolution set with the +font-resolution option will be
  3142. magnified.  This is especially convenient in font substitution files
  3143. to specify a font size independent of the device (and its resolution).
  3144.  
  3145.  
  3146. 4.2 Font substitution file format
  3147. ---------------------------------
  3148.  
  3149. A font substitution file gives a list of fonts which can be used
  3150. to replace those called for in a DVI file: the names of the font
  3151. substitution files can be set with the +font-subst-files option though
  3152. the drivers will run without one.  A font substitution file can
  3153. contain comments which are lines starting with `%'.
  3154.  
  3155.  
  3156. 4.2.1 Substitution with and without batch mode
  3157. ----------------------------------------------
  3158.  
  3159. A font substitution file has two parts only one of which is required.
  3160. The first replaces ALL matching fonts while the second describes what
  3161. is to be done when a font file cannot be found while +batch-mode is
  3162. active.  The two parts are separated by the line
  3163.  
  3164.     $b
  3165.  
  3166. If the font substitution file contains the first part only, `$b' can
  3167. be omitted.
  3168.  
  3169. ALL the rules in the first part are applied one after the other with
  3170. the result of one rule being passed on to the next one.  Rules which
  3171. do not match remain unused.
  3172.  
  3173. The second part only has effect if +batch-mode is active and then
  3174. only when a font cannot be found.  The substitutions in this part are
  3175. applied in turn to the original font name and size with the result
  3176. of one substitution not being carried forward to the next.  After
  3177. each trial substitution the resulting font name and size are searched
  3178. for and the process ends when the search succeeds.  If the search is
  3179. unsuccessful then the next rule is tried; if all rules fail then the
  3180. program ends with an error message.
  3181.  
  3182.  
  3183. 4.2.2 Rule lines
  3184. ----------------
  3185.  
  3186. Each line of a font substitution file contain one substitution rule if
  3187. it isn't a comment line or the line `$b': The font file name or the
  3188. size (or both) appear to the left of `->' while the name or the size
  3189. to be substituted appears on the right; this may be further followed
  3190. by an option.  To use built-in printer fonts, `=>' is used instead of
  3191. `->', see below for details.  You can choose from one of the following
  3192. formats:
  3193.  
  3194.     font -> font [option] [comment]
  3195.     size -> size [option] [comment]
  3196.     font size -> font size [option] [comment]
  3197.  
  3198. Font names may contain special characters, see below.  The size is
  3199. specified in dots per inch (DPI); you can use a magnification step
  3200. using preceded by a colon, for instance, `:2' or `300:1'.  The charac-
  3201. ter `*' stands for an arbitrary size if used to the left of `->'.  To
  3202. the right of `->', `*' stands for the size of the original font.
  3203.  
  3204.  
  3205. 4.2.3 Options in font substitution rules
  3206. ----------------------------------------
  3207.  
  3208. At most one of the following options can be used for each substitution
  3209. rule:
  3210.  
  3211. /b      All characters of the font will be replaced by black
  3212.         filled rectangles.  If there's no font file, a TFM file is
  3213.         sufficient.
  3214.  
  3215. /r      All characters of the font will be replaced by black rectangle
  3216.         outlines.  If there's no font file, a TFM file is sufficient.
  3217.         dvidot and dvihplj treat /r like /b and print black filled
  3218.         rectangles instead.
  3219.  
  3220. /w      The font is made invisible, i.e., a font file is still
  3221.         required (a TFM file is sufficient) but the characters of the
  3222.         font will be replaced by white space.  This feature can be
  3223.         used for the invisible SliTeX fonts.
  3224.  
  3225. /d      All characters from the font are discarded entirely, there
  3226.         won't be white space for the characters.  This results in
  3227.         wrong positions of other objects.  Therefore, warning message
  3228.         1211 will be displayed.  No font file is required.
  3229.  
  3230. Rules which don't include an option don't change the mode set by op-
  3231. tions of rules which matched previously.  That is, you cannot put a
  3232. font back into the default mode (printing characters) after applying
  3233. an option.
  3234.  
  3235.  
  3236. 4.2.4 Matching font names
  3237. -------------------------
  3238.  
  3239. Three special characters can be used in font names: `*' must be given
  3240. at the end of a font name and causes the remaining characters of the
  3241. name to be ignored.  `*' in the replacement name is replaced with the
  3242. characters that were matched by `*' in the original font name.  `@'
  3243. matches (in the original font name) any single character.  You cannot
  3244. use `@' in the replacement name.  `?' also matches (in the original
  3245. font name) any single character.  In the replacement font name, `?'
  3246. is replaced by the character matched by the corresponding `?' in the
  3247. original font name (the replacement name must contain the same number
  3248. of question marks as the original name).  Note that while `@' and `?'
  3249. may have name characters following them, `*' may only appear as the
  3250. last character.  Here is a concocted example which shows the effect of
  3251. each character:
  3252.  
  3253.     aaa?bb@cc?dd* -> x?y?z*
  3254.  
  3255. This rule will replace the font name `aaa1bb2cc3dd456' by `x1y3z456'.
  3256. This does NOT match the font name `aaabb2cc3dd456'.
  3257.  
  3258.  
  3259. 4.2.5 Using built-in printer fonts
  3260. ----------------------------------
  3261.  
  3262. dvihplj supports using built-in printer fonts.  A font substitution
  3263. file is used for mapping TeX fonts to built-in fonts.  To map a TeX
  3264. font to a built-in font, a different type of rule line is used:
  3265.  
  3266.     font [size] => pcl: <selection>
  3267.  
  3268. Following the `pcl:' keyword, the PCL commands to select the built-in
  3269. font are listed, separated by blanks.  The `Esc (' or `Esc )' prefix
  3270. used in font selection commands must be omitted.
  3271.  
  3272. You can use `*' in place of a specific size on the left hand side of
  3273. the `=> pcl:' part of the rule.  If `*' is used for the size, it can
  3274. also be used in a selection value.  In this case, the numeric part of
  3275. the selection value will be multiplied by the magnification of the
  3276. font.  Example:
  3277.  
  3278.     trr10u * => pcl: 10U s1P s*10V s0S s0B s5T
  3279.  
  3280. This rule causes dvihplj to replace all occurrences of the
  3281. font `trr10u' with the built-in font that is selected with
  3282. `<ESC>(10U<ESC>(s1p??v0s0b5T'.  The height of the font (shown as ??)
  3283. is replaced by 10 times the magnification of `trr10u' in the DVI file.
  3284. This makes sense for scalable fonts only.
  3285.  
  3286. Note that a TFM file is required for each built-in font.  Built-in
  3287. printer fonts can be used with +transformation:0 only.  For
  3288. the HP LaserJet III and later models (such as the HP LaserJet
  3289. 4), +transformation:0 through +transformation:3 are supported.
  3290. +full-page-bitmap:on also disables built-in printer fonts.
  3291.  
  3292. If the TFM file contains parameters for selection of a PCL font, those
  3293. parameters are used first.  Then, the font selection commands from the
  3294. font substitution file are used.
  3295.  
  3296. dvihplj can use built-in fonts without a font substitution file if the
  3297. TFM files contain PCL font selection information.
  3298.  
  3299.  
  3300. 4.2.6 Example
  3301. -------------
  3302.  
  3303. This example file shows some applications of font substitution files:
  3304.  
  3305.     %
  3306.     % Example font substitution file
  3307.     %
  3308.     am* -> cm*               % replace am fonts by cm fonts
  3309.     longfontname -> lfn      % change name
  3310.     305 -> 300               % change size
  3311.     600 -> 300:4             % change size
  3312.     cmr12 :0 -> cmr10 :1     % cmr12 scaled 1000 -> cmr10 scaled 1200
  3313.     i* -> * /w               % invisible SliTeX fonts
  3314.     fancy -> fancy /b        % replace characters by rectangles
  3315.     dummy -> dummy /d        % discard characters
  3316.     
  3317.     $b                       % rules for +batch-mode are following
  3318.     
  3319.     * * -> * :0              % keep name, size  := +font-resolution
  3320.     * * -> cmr10 :0          % name := cmr10, size := +font-resolution
  3321.     * * -> * * /r            % replace by rectangles, call MFjob
  3322.  
  3323.  
  3324. 4.3 Font search rules
  3325. ---------------------
  3326.  
  3327. 1.  The font size is replaced by the closest available size, according
  3328.     to +font-size-tolerance and +font-sizes.  The font name and size
  3329.     are converted according to the rules in the first part of the
  3330.     font substitution file -- ALL rules are applied one after the
  3331.     other.  If the font size has been changed by the font substitution
  3332.     process, it will again be replaced by the closest available size.
  3333.  
  3334. 2.  If +change-mode is active, you have a chance to change the name
  3335.     or size of the font, to enter a different font name or to enter a
  3336.     file name.
  3337.  
  3338. 3.  If the /d option is set for the font, no font will be sought; all
  3339.     characters of the font will be omitted.
  3340.  
  3341. 4.  The font is sought according to the values set by the
  3342.     +virtual-fonts, +font-libraries and +font-files options.  If a
  3343.     font is not found and the /b, /r or /w option is set for the
  3344.     font, then a TFM file is sought according to the value set by
  3345.     the +tfm-files option.  If a font is not found, dvihplj tries to
  3346.     load a TFM file for a built-in font.  The TFM file must include
  3347.     information for PCL font selection.
  3348.  
  3349. 5.  If +batch-mode is active and a font substitution file has a second
  3350.     part (after `$b'), the name/size resulting from (1) above is
  3351.     converted using one of the rules, the size replaced by the closest
  3352.     size according to +font-size-tolerance and +font-sizes and this
  3353.     name and size used for a search according to the values set by
  3354.     the +virtual-fonts, +font-libraries and +font-files options.  If
  3355.     /b, /r or /w is set for the font, additionally a TFM file will be
  3356.     sought according to the value set by the +tfm-files option.  All
  3357.     this is done for each rule in turn.
  3358.  
  3359. 6.  The font is marked for generation by MFjob and METAFONT.
  3360.  
  3361. 7.  If batch mode is active (+batch-mode option) and there is no font
  3362.     substitution file with a second part, the following rules will be
  3363.     used instead following the procedure in (5) above:
  3364.  
  3365.         * * -> * :0
  3366.         * * -> cmr10 *
  3367.         * * -> cmr10 :0
  3368.         * * -> * * /r
  3369.         * * -> * * /d
  3370.  
  3371. 8.  If batch mode is active and the font is still not found, the
  3372.     driver stops with a fatal error message.  This can only happen if
  3373.     you have changed the rules for +batch-mode, as the last default
  3374.     rule uses /d.
  3375.  
  3376. 9.  If the font is not found, the user is asked for another font name,
  3377.     size or file name -- see below.
  3378.  
  3379. If the search fails and batch mode is not active (+interactive-mode is
  3380. the default), the user is asked for help, displaying the font name and
  3381. the size of the form
  3382.  
  3383.     font<xxxx>
  3384.  
  3385. where xxxx is the font size (DPI).  Replacing the size with
  3386. the closest available font size according to the settings of
  3387. +font-size-tolerance and +font-sizes has already taken place.
  3388.  
  3389. You should then enter a font name, a font size or a file name.  More-
  3390. over, you can use one of the options for replacing characters with
  3391. rectangles or white space or for omitting characters.  Moreover, you
  3392. can activate +batch-mode, +change-mode and +interactive-mode.  You can
  3393. enter multiple values in one line, the values must be separated by
  3394. blanks.  After reading the values given in a line of input, the font
  3395. will be searched again using the changed values.  If the line ends
  3396. with `&', the search after reading this line will be suppressed.
  3397.  
  3398. The following values can be entered:
  3399.  
  3400. name
  3401.  
  3402.     choose a new font name.  `name' must not contain the characters
  3403.     `\', `/', `.', and `:'
  3404.  
  3405. size
  3406.  
  3407.     choose a new size, (new xxxx value of `font<xxxx>').  The new size
  3408.     will not be replaced with the closest available size.  Examples:
  3409.  
  3410.     300     300 DPI
  3411.  
  3412.     :2      scaled 1440  (1.44 * +font-resolution)
  3413.  
  3414.     204:h   204 DPI magnified 1.2^0.5 (= 233.47081)
  3415.  
  3416.     See `Specifying font size (resolution)'
  3417.  
  3418. file_name
  3419.  
  3420.     choose a complete file name (the input contains one of the
  3421.     characters `\', `/', `.', or `:').  The driver will try to
  3422.     read this file (ignoring +virtual-fonts, +font-libraries and
  3423.     +font-files).  Therefore, you should enter the complete path name,
  3424.     including the extension
  3425.  
  3426. empty_line
  3427.  
  3428.     search.  If you don't want to change a value when using
  3429.     +change-mode, just hit the return key
  3430.  
  3431. +
  3432.  
  3433.     multiply the size by 1.2
  3434.  
  3435. -
  3436.  
  3437.     divide the size by 1.2
  3438.  
  3439. /b
  3440.  
  3441.     replace all the characters in the font by a black block.  A font
  3442.     file is still required, a TFM file is sufficient
  3443.  
  3444. /r
  3445.  
  3446.     replace all the characters in the font by a rectangle outline.  A
  3447.     font file is still required, a TFM file is sufficient.  dvihplj
  3448.     and dvidot cannot print rectangle outlines, these drivers will
  3449.     treat /r like /b
  3450.  
  3451. /w
  3452.  
  3453.     make all the characters in the font invisible.  A font file is
  3454.     still needed but the characters therein are not printed.  A TFM
  3455.     file is sufficient.  This is useful in analyzing unusual effects
  3456.  
  3457. /d
  3458.  
  3459.     all characters from the font are discarded entirely, there
  3460.     won't be white space for the characters.  This results in wrong
  3461.     positions of other objects.  Therefore, warning message 1211 will
  3462.     be displayed.  No font file is required
  3463.  
  3464. $a
  3465.  
  3466.     apply +batch-mode to the current font.  If you have changed the
  3467.     name or size of the font, the changes will be ignored.  The re-
  3468.     maining values on the input line are ignored.  +batch-mode or
  3469.     +interactive-mode will be used for the next font, depending on the
  3470.     current mode.  If you want to apply +batch-mode to all remaining
  3471.     fonts, use `$b'
  3472.  
  3473. $b
  3474.  
  3475.     activate +batch-mode for this and all remaining fonts.  If you
  3476.     have changed the name or size of the font, the changes will be
  3477.     ignored.  As no further questions will be asked, you won't be able
  3478.     to turn off +batch-mode
  3479.  
  3480. $c
  3481.  
  3482.     activate +change-mode for the next and all remaining fonts
  3483.  
  3484. $i
  3485.  
  3486.     activate +interactive-mode.  If +change-mode was active, you won't
  3487.     be asked before the next (and all remaining fonts) will be sought
  3488.  
  3489. Examples:
  3490.  
  3491. cmr10 :1
  3492.  
  3493.     use cmr10 scaled 1200
  3494.  
  3495. - -
  3496.  
  3497.     decrease size by factor 1.44
  3498.  
  3499. d:\myfonts\xyzzy.pk
  3500.  
  3501.     use this font file
  3502.  
  3503. cmr10 300 /r
  3504.  
  3505.     use rectangles for cmr10.tfm at 300 DPI
  3506.  
  3507. $b
  3508.  
  3509.     activate +batch-mode
  3510.  
  3511. + &
  3512.  
  3513.     Increase size by factor 1.2, ask again
  3514.  
  3515. If +interactive-mode is active, all missing fonts are marked for gen-
  3516. erating with MFjob and METAFONT, even if you have entered a replace-
  3517. ment font.  The original, missing font will be generated.  Your input
  3518. doesn't influence which fonts will generated in which sizes.
  3519.  
  3520. If +change-mode is active, missing fonts will not be marked for gener-
  3521. ating with MFjob and METAFONT.
  3522.  
  3523.  
  3524. 4.4 Generating missing fonts automatically with MFjob and METAFONT
  3525. ------------------------------------------------------------------
  3526.  
  3527. Missing fonts can be generated in the required magnifications from
  3528. their METAFONT sources.  The following command line options are
  3529. required:
  3530.  
  3531. +batch-mode
  3532.  
  3533.     Automatically replace missing fonts.  You can use
  3534.     +interactive-mode but then you will be prompted for a replacement
  3535.     font for each missing font.  If +change-mode is active, missing
  3536.     fonts will not be generated automatically
  3537.  
  3538. +metafont-mode
  3539.  
  3540.     METAFONT mode for the output device.  This option is set in the
  3541.     configuration files that come with the drivers
  3542.  
  3543. +mfjob-file
  3544.  
  3545.     Name of the MFjob file.  Under DOS, this option is set by the
  3546.     dvidrv.exe program.  Under OS/2, the default value can be used
  3547.  
  3548. If these options are correctly set -- and if there are fonts missing
  3549. -- the driver will create a file (with the name specified by
  3550. +mfjob-file) which will contain commands for MFjob (version 1.1m or
  3551. later) which are required for generating the missing fonts.  Then, the
  3552. driver will ask the following question:
  3553.  
  3554.     Warning 1209: do you want to call MFjob to generate # missing fonts now?
  3555.     Type Y, N or ?:
  3556.  
  3557. If you type N, computing (printing or output to a file or to the
  3558. screen) will continue -- but with replaced fonts.  If the MFjob job
  3559. file isn't deleted by dvidrv (or your batch file), you can generate
  3560. the missing fonts by calling MFjob after printing (not recommended) or
  3561. viewing the DVI file.
  3562.  
  3563. If you type Y, the action taken by the driver depends on the operating
  3564. system and on the +call-mfjob option: Under DOS (or if +call-mfjob:off
  3565. is set under OS/2), the driver will stop with return code 8 (which
  3566. can be checked with IF ERRORLEVEL).  If the driver was started by
  3567. dvidrv, MFjob will be called by dvidrv, then the driver again.  If
  3568. +call-mfjob:on (the default value) is set under OS/2, the driver di-
  3569. rectly calls MFjob, deletes the MFjob file and reloads the DVI file.
  3570.  
  3571. If you type ?, the driver displays a list of the fonts to be gener-
  3572. ated.  The list includes names and magnifications of the fonts.
  3573.  
  3574. The MFjob job file will look like this:
  3575.  
  3576.     input [dvidrv];
  3577.     {
  3578.     driver=dvidot;
  3579.     mode=lqlores[180 180];
  3580.     output=pk[$DVIDRVFONTS:pixel.p6l\@Rrdpi\@f{.pk,.pxl}];
  3581.     {font=cmr10; mag=0.5;}
  3582.     {font=cmbx10; mag=0.5;}
  3583.     }
  3584.  
  3585. Here's a short explanation:
  3586.  
  3587. input [dvidrv]
  3588.  
  3589.     insert declarations from dvidrv.mfj
  3590.  
  3591. driver=
  3592.  
  3593.     name of the driver, used for replacing @d
  3594.  
  3595. mode=
  3596.  
  3597.     mode and resolution (set with +metafont-mode and +font-resolution)
  3598.  
  3599. output=
  3600.  
  3601.     path for output files (set with +font-files)
  3602.  
  3603. font=
  3604.  
  3605.     name of the font
  3606.  
  3607. mag=
  3608.  
  3609.     magnification of the font
  3610.  
  3611. Keep in mind that MFjob will use only the FIRST expansion of the tem-
  3612. plate given in the output= declaration.  In the example above, the
  3613. font files cmr10.pk and cmbx10.pk will be created in the FIRST direc-
  3614. tory listed in the DVIDRVFONTS environment variable, under directory
  3615. pixel.p6l\#dpi (# will be replaced by 90).  The FIRST extension from
  3616. the list of alternatives will be used.
  3617.  
  3618. You should ensure that the first directory set by +font-files is
  3619. writable.  You can create an separate directory for automatically gen-
  3620. erated fonts -- this directory should be listed first.
  3621.  
  3622. Under DOS, it is recommended to use the program `dvidrv', which takes
  3623. care of setting +mfjob-file to a unique file name (of a non-existent
  3624. file) to prevent problems with multiple users (network!)  working in
  3625. the same directory.  dvidrv will also call MFjob and -- after generat-
  3626. ing the fonts -- the driver again.
  3627.  
  3628. dvidrv will create the temporary MFjob file in the directory given by
  3629. the TMP environment variable (use SET TMP=F:\, for instance).  If TMP
  3630. isn't set, the root directory of the current drive will be used, which
  3631. must be writable.
  3632.  
  3633. As an alternative to dvidrv, you can use the following batch file, but
  3634. it doesn't work when running multiple drivers concurrently in the same
  3635. directory:
  3636.  
  3637.     @echo off
  3638.     :loop
  3639.     dviscr @lj.cnf /fl:-1 %1 %2 %3 %4 %5 %6 %7 %8 %9 /pj:dvihplj.mfj
  3640.     if errorlevel 9 goto end
  3641.     if not errorlevel 8 goto end
  3642.     mfjob dvihplj.mfj
  3643.     if not errorlevel 1 goto loop
  3644.     :end
  3645.  
  3646.  
  3647. 4.5 Using built-in printer fonts
  3648. --------------------------------
  3649.  
  3650. dvihplj can use built-in fonts unless the entire page is printed as
  3651. bitmap (+full-page-bitmap).  The simplest way to use built-in fonts
  3652. is to use TFM files which include information for selecting PCL
  3653. fonts.  When the +tfm-files option is correctly set, dvihplj will
  3654. automatically use these fonts.
  3655.  
  3656. Moreover, you can select built-in fonts by adding special rules to the
  3657. font substitution file.
  3658.  
  3659.  
  3660. 5 Using dviscr and dvivik
  3661. =========================
  3662.  
  3663.  
  3664. 5.1 Keyboard functions for dviscr and dvivik
  3665. --------------------------------------------
  3666.  
  3667. Note that it is impossible to go outside the `sheet' defined by +width
  3668. and +height.  You can use the following keys, upper case and lower
  3669. case isn't distinguished:
  3670.  
  3671. <Ctrl>+<C>  <Q>
  3672.  
  3673.     exit from the program
  3674.  
  3675. <left arrow>
  3676.  
  3677.     move the window half the screen width to the left (for smaller
  3678.     movements, see <F> and <C>)
  3679.  
  3680. <right arrow>
  3681.  
  3682.     move the window half the screen width to the right (for smaller
  3683.     movements, see <F> and <C>)
  3684.  
  3685. <up arrow>
  3686.  
  3687.     move the window half the screen height upwards (for smaller
  3688.     movements, see <F> and <C>)
  3689.  
  3690. <down arrow>
  3691.  
  3692.     move the window half the screen height downwards (for smaller
  3693.     movements, see <F> and <C>)
  3694.  
  3695. <4>
  3696.  
  3697.     move the window to the left by the screen width
  3698.  
  3699. <6>
  3700.  
  3701.     move the window to the right by the screen width
  3702.  
  3703. <8>
  3704.  
  3705.     move the window upwards by the screen height
  3706.  
  3707. <2>   <spacebar>
  3708.  
  3709.     move the window downwards by the screen height
  3710.  
  3711. <Home>
  3712.  
  3713.     move the window to the initial position (chosen with +home-x and
  3714.     +home-y options or <H>)
  3715.  
  3716. <7>
  3717.  
  3718.     move the window to the top left-hand corner of the page
  3719.  
  3720. <End>
  3721.  
  3722.     move the window to the bottom left-hand corner of the page
  3723.     (+home-x option or <H>)
  3724.  
  3725. <1>
  3726.  
  3727.     move the window to the bottom left-hand corner of the page
  3728.  
  3729. <Ctrl>+<left arrow>
  3730.  
  3731.     move the window to the left margin
  3732.  
  3733. <Ctrl>+<right arrow>
  3734.  
  3735.     move the window to the right margin
  3736.  
  3737. <PageUp>   <9>   <F7>
  3738.  
  3739.     to the previous page
  3740.  
  3741. <PageDn>   <3>   <F8>
  3742.  
  3743.     to the next page
  3744.  
  3745. <Ctrl>+<PageUp>
  3746.  
  3747.     to the first page
  3748.  
  3749. <Ctrl>+<PageDn>
  3750.  
  3751.     to the last page
  3752.  
  3753. <I>
  3754.  
  3755.     reversed image toggle
  3756.  
  3757. <D>
  3758.  
  3759.     refresh the screen image
  3760.  
  3761. <H>
  3762.  
  3763.     make the current position the home position (see +home-x, +home-y,
  3764.     <Home> and <End>)
  3765.  
  3766. <F>
  3767.  
  3768.     this reduces the window movement caused by the arrow keys; it has
  3769.     6 steps
  3770.  
  3771. <C>
  3772.  
  3773.     this increases the window movement caused by the arrow keys; it
  3774.     has 6 steps
  3775.  
  3776. <G>
  3777.  
  3778.     go to one of the pages selected for display.  Enter a number from
  3779.     1 to the number of selected pages -- this page will then be dis-
  3780.     played.
  3781.  
  3782. <O>
  3783.  
  3784.     return to the previously displayed page -- to be used after a <G>,
  3785.     <P>, <S>, <Ctrl>+<PageUp> or <Ctrl>+<PageDn> command.  The driver
  3786.     holds up to the last 20 pages displayed.  The page is displayed
  3787.     so that the point marked by the ruler or the middle of the page
  3788.     appears in the same position on the screen.
  3789.  
  3790. <P>
  3791.  
  3792.     display a page with a given page number, the page number must be
  3793.     entered.  The page with this page number is first sought starting
  3794.     from the current page going towards the end of the file, if it
  3795.     isn't found then the search restarts at the beginning of the file.
  3796.     Page numbers can contain *, for example, 1.*.5
  3797.  
  3798. <R>
  3799.  
  3800.     toggle the ruler display
  3801.  
  3802. <Ctrl>+<R>
  3803.  
  3804.     toggle the scale on the ruler
  3805.  
  3806. <S>
  3807.  
  3808.     search for text: the search starts at the beginning of the current
  3809.     page (or the point at which the search last stopped).  Pages are
  3810.     then sought starting at the current page and moving towards the
  3811.     end of file.  If this fails then the search starts again at the
  3812.     beginning of the file.  The search can be terminated by pressing
  3813.     the Esc key.  If no text is entered, the text from the last search
  3814.     is used again.  The search is case sensitive, hyphens and spaces
  3815.     are ignored.  The text can also include accented characters.  If
  3816.     the text contains an illegal character, for instance, `\' can't
  3817.     appear in it, the driver beeps.  The ruler is placed on the refer-
  3818.     ence point of the first character of the text.
  3819.  
  3820. <W>
  3821.  
  3822.     toggle the effect of the arrow keys -- either the window or the
  3823.     ruler (if present) is moved.  After enabling the ruler with <R>,
  3824.     the arrow keys move the ruler.  This function affects the four
  3825.     arrow keys, <Ctrl>+<left arrow>, <Ctrl>+<right arrow>, <Home> and
  3826.     <End>.  The other keys continue to move the window.  The effect
  3827.     of <F> and <C> is also changed, altering the rate at which the
  3828.     ruler is moved around independently of the setting for the window
  3829.     movement.
  3830.  
  3831. <U>   <Ctrl>+<U>
  3832.  
  3833.     change the dimension unit: <U> moves forward through the usual
  3834.     list of 10, <Ctrl>+<U> moves backward.  These dimension units
  3835.     are used in the status line and the ruler display.  See also
  3836.     +ruler-unit.
  3837.  
  3838. <+>   <->
  3839.  
  3840.     change the gray scale display or scaling (zoom).  If possible,
  3841.     a gray scale is used, otherwise scaling.  The relation between
  3842.     the values set by +zoom-x, +zoom-y or +scaling-x, +scaling-y is
  3843.     preserved.  This means that a scaling of +scaling-x:7 +scaling-y:8
  3844.     cannot be changed.  <+> increases the size of the picture, <->
  3845.     reduces it.
  3846.  
  3847. <Alt>+<G>   <Alt>+<S>
  3848.  
  3849.     change the gray scale setting or scaling (zoom).  One or two
  3850.     digits in the range 1 to 8 can be entered; these are taken to
  3851.     be the new factors for the gray scale (<Alt>+<G>) or scaling
  3852.     (<Alt>+<S>).  If only one digit is given then it is taken as both
  3853.     the X and Y value (like +zoom and +scaling).  If two digits are
  3854.     entered then these are used as the X and Y factors (like +zoom-x
  3855.     and +zoom-y or +scaling-x and +scaling-y).
  3856.  
  3857. <T>
  3858.  
  3859.     dviscr and dvivik can change the transformation dynamically by
  3860.     following <T> by a digit from 0 to 7 and <Enter>.  This is,
  3861.     however, not possible if +font-resolution-x and +font-resolution-y
  3862.     were used to set different values and you wish to switch between
  3863.     transformations 0, 2, 5 or 7 and 1, 3, 4 or 6.  Moreover, you can-
  3864.     not change the transformation when making a book, that is, when
  3865.     +section-count or +section-size has a non-zero value.
  3866.  
  3867. <K>
  3868.  
  3869.     this toggles the coordinates used for the arrow keys between
  3870.     screen coordinates and transformed coordinates (if the display
  3871.     is rotated (do this on your own risk)).  When <K> is pressed the
  3872.     arrow keys are transformed, pressing it again returns to the
  3873.     initial state.
  3874.  
  3875. For functions <+>, <->, <Alt>+<G>, <Alt>+<S>, and <T> the midpoint
  3876. of the screen (or, if the ruler is enabled, the point marked by the
  3877. ruler) is kept in the same position on the screen.
  3878.  
  3879. Rotations are also made around this point, reflections put this point
  3880. on the reflection axis and the size is changed with this point at the
  3881. centre.  If this causes the window to fall outside the page then the
  3882. window is moved as necessary so that it lies wholly within the page
  3883. (if possible).
  3884.  
  3885.  
  3886. 5.2 Entering numbers
  3887. --------------------
  3888.  
  3889. Numbers are displayed in the status line, if it is enabled.  Errors
  3890. can be corrected with the backspace key or left arrow key, Esc ends an
  3891. incorrect entry, Enter accepts the number.
  3892.  
  3893. If no status line (see +status-line:off) is displayed, numbers must be
  3894. entered blind.  An initial beep shows that entry may begin (an initial
  3895. (optional) sign followed by digits only), backspace, left arrow, Esc
  3896. and Enter have the same effect.  An illegal input causes a deeper
  3897. beep.  After pressing Enter, a higher tone is sounded.
  3898.  
  3899.  
  3900. 5.3 Understanding the status line
  3901. ---------------------------------
  3902.  
  3903. The status line displays the following information:
  3904.  
  3905. 1.  At the left-hand end the step selected by <F> and <C> is dis-
  3906.     played.
  3907.  
  3908. 2.  To the right of this is either `R' (ruler moves), `W' (window
  3909.     moves) or, if there is no ruler, nothing.
  3910.  
  3911. 3.  A little bit further right if gray scaling is possible, `Gxy'
  3912.     appears otherwise `Sxy'.  These are the values set by +zoom-x,
  3913.     +zoom-y, +scaling-x and +scaling-y -- and altered by <+>, <->,
  3914.     <Alt>+<G> and <Alt>+<S>.
  3915.  
  3916. 4.  The side number (the first side selected is side 1) appears in the
  3917.     middle of the line together with the page number.  For example,
  3918.  
  3919.         5:      10.7
  3920.  
  3921.     shows side 5.  The first page on side 5 has page number 10.7.
  3922.  
  3923. 5.  To the right of this the coordinates of the top left-hand corner
  3924.     of the window are shown (if transformed, this is not necessarily
  3925.     the top left-hand corner of the screen: for example, in
  3926.     transformation 1 the coordinates are those of the bottom left-hand
  3927.     corner of the screen).  The position display
  3928.  
  3929.         x=0pt y=0pt
  3930.  
  3931.     is the top left-hand corner of the sheet.  If the ruler is
  3932.     graduated then the distance between two (short) gradations is
  3933.     displayed as well.  The gradation is chosen to make this a read-
  3934.     able distance.  Every tenth gradation is somewhat longer than the
  3935.     others.
  3936.  
  3937. 6.  A `W' is displayed near the right-hand end of the line if warnings
  3938.     messages have occurred while dviscr or dvivik was in graphics
  3939.     mode.
  3940.  
  3941. 7.  A `*' is displayed at the right-hand end of the line while the pic-
  3942.     ture is being built up or while a text search is in progress.
  3943.  
  3944. The status line can be removed by the option +status-line:off.
  3945.  
  3946.  
  3947. 6 \special
  3948. ==========
  3949.  
  3950. The drivers take note of all \special's beginning with `em:'; blanks
  3951. may appear between `em:' and the following keyword (`graph', `point',
  3952. `line', `linewidth', `pcl' or `pclfile').
  3953.  
  3954. Any \special's which do not start with `em:' are silently ignored.
  3955.  
  3956. The drivers can understand the following \special's:
  3957.  
  3958. \special{em:graph xxx}
  3959.  
  3960. Insert the graphics file xxx at this place.  The upper left corner of
  3961. the picture is located at the reference point of a character were it
  3962. to appear here.  You can use MSP (MS Paint under Windows 1.x and 2.x),
  3963. PCX (Paintbrush) and black and white BMP files.  4 color CGA mode PCX
  3964. files cannot be used.  Run length encoded BMP files cannot be used.
  3965. All non-white pixels of a PCX file are printed (assuming the standard
  3966. palette).  For efficiency reasons, usage of MSP files (Windows 2.x) is
  3967. recommended.  The width of the picture must not exceed 32760 pixels,
  3968. the height must not exceed 32766 pixels.  Example (the size of the pic-
  3969. ture is 21pt by 23pt):
  3970.  
  3971.     \begin{center}
  3972.     \begin{picture}(21,23)
  3973.       \put(0,23){\special{em:graph dvitrans.2}}
  3974.     \end{picture}
  3975.     \end{center}
  3976.  
  3977. If a graphics file is not found while +batch-mode is active, the pic-
  3978. ture will be omitted and warning message 1303 will be displayed.  If
  3979. a graphics file is not found while +batch-mode is not active, you
  3980. will be prompted for the name of the graphics file.  If you enter /d,
  3981. the picture will be omitted.  If +change-mode is active, you will be
  3982. prompted for a file name for each \special{em:graph} command before
  3983. the driver tries to open the graphics file.  If +omit-graphics:on is
  3984. in effect, \special{em:graph} is ignored.
  3985.  
  3986. \special{em:point n[,[x],[y]]}
  3987. \special{em:line a[h|v|p],b[h|v|p][,width]}
  3988. \special{em:linewidth width}
  3989. \special{em:moveto}
  3990. \special{em:lineto}
  3991.  
  3992. With these commands lines can be drawn at any desired angle.  A point
  3993. n (1 to 32767) is defined with \special{em:point n} and gets the co-
  3994. ordinates of the reference point.  If x or y or both are specified,
  3995. these values override the coordinates of the reference point.  For in-
  3996. stance,
  3997.  
  3998.     \special{em:point 1,10pt}
  3999.  
  4000. defines point 1 10pt to the right of the left margin and with the Y co-
  4001. ordinate of the reference point.
  4002.  
  4003. \special{em:point n} commands can be positioned using the LaTeX pic-
  4004. ture environment.  For plain TeX, see page 389 of The TeXbook.  Two
  4005. such points can be joined by a line: \special{em:line a,b,width} joins
  4006. the points numbered a and b with a line `width' thick -- the width can
  4007. be given in any unit acceptable to the +unit option except px.  The
  4008. point numbers can have `h', `v' or `p' appended showing how the end of
  4009. the line should be cut.  `p' causes the line to be cut perpendicular
  4010. to its direction, `h' make a horizontal cut and `v' a vertical cut.
  4011. `p' is used as default if no cut mode is specified.  Note that a hori-
  4012. zontal line cannot have a horizontal cut nor vertical line a vertical
  4013. one!
  4014.  
  4015. Example:
  4016.  
  4017.     \special{em:line 1,2v,4pt}
  4018.  
  4019. Points need not be defined before the lines which refer to them.
  4020. Point and line definitions are local to the current page.
  4021.  
  4022. If a number of lines with the same width are to be drawn,
  4023. \special{em:linewidth width} can be used to set the default
  4024. width for all subsequent lines without a `width' argument --
  4025. \special{em:line a,b}.  The initial setting of the default width
  4026. is 0.4pt; any \special{em:line a,b} appearing BEFORE a `linewidth'
  4027. special will have this width.  To avoid errors, the required line
  4028. width should be set before each picture composed of lines.
  4029.  
  4030. There are other commands for line drawing.  \special{em:moveto}
  4031. sets the current (drawing) point to the coordinates of the refer-
  4032. ence point without drawing a line: \special{em:lineto} draws a
  4033. line between the current point and the reference point, the ref-
  4034. erence point then becomes the current point.  A polygon can be
  4035. drawn with one \special{em:moveto} and a number of subsequent
  4036. \special{em:lineto} commands.  The width of the line will be that set
  4037. by \special{em:linewidth width}.
  4038.  
  4039. \special{em:pcl string}
  4040.  
  4041. This command is ignored (without warning message) by all drivers
  4042. except dvihplj.  All blanks directly following em:pcl are skipped.
  4043. The remaining characters are copied unmodified into the output after
  4044. moving the cursor to the reference point.  The following example
  4045. prints a gray rectangle of height and width 0.5in:
  4046.  
  4047.     \special{em:pcl ^^1b*c15g360h360v2P}
  4048.  
  4049. \special{em:pclfile name}
  4050.  
  4051. This command is ignored (without warning message) by all drivers
  4052. except dvihplj.  The file `name' is copied unmodified into the out-
  4053. put after moving the cursor to the reference point.  dvihplj seeks the
  4054. file with the specified name only, that is, in the current working di-
  4055. rectory if no absolute path name is given.  Example:
  4056.  
  4057.     \special{em:pclfile myfile.pcl}
  4058.  
  4059.  
  4060. 7 Miscellaneous topics
  4061. ======================
  4062.  
  4063.  
  4064. 7.1 General notes
  4065. -----------------
  4066.  
  4067. If the DOS versions of the drivers run out of memory, expanded memory
  4068. (EMS 4.0) and extended memory will be used.  If there is no or not
  4069. enough expanded memory or if usage of EMS and XMS has been disabled
  4070. (see +use-ems:off and +use-xms:off), a temporary file will be created.
  4071. You can select the directory used for the temporary file by setting
  4072. the TMP environment variable.  If TMP isn't set, the temporary file
  4073. will be created in the root directory of the current drive.  Normally,
  4074. the temporary file will be deleted automatically.  The name of the tem-
  4075. porary file starts with `dv' followed by a number.
  4076.  
  4077. The driver dvidot (as well as dviscr and dvivik if +zoom is used) will
  4078. not print characters which have a pixel row falling above the top
  4079. paper edge.
  4080.  
  4081. Fonts may only contain characters with codes in the range 0 to 255.
  4082.  
  4083. The width of a character may not exceed 32760 points and the height
  4084. 32766.  If a character needs more than 32000 bytes of memory (say,
  4085. 504x507 points) the driver slows down noticeably.
  4086.  
  4087. If MS-DOS or PC-DOS issues a printer timeout error in the middle of
  4088. printing then you should this command to remove timeout checks:
  4089.  
  4090.     mode lpt1,,p                                    (DOS 2.x and 3.x)
  4091.     mode lpt1 retry=r                               (DOS 4.0 or later)
  4092.  
  4093. where lpt1 is to be replaced by the correct printer port designation.
  4094. You may want to use the +xon-xoff:on option when printing to the ports
  4095. LPT1 to LPT4.
  4096.  
  4097. The text of error messages is read from the file dvidrv.err.  This
  4098. file must be in the `data' subdirectory of the emTeX directory.  This
  4099. file has been created to save memory, not so that the user can change
  4100. the messages.
  4101.  
  4102.  
  4103. 7.2 Output with the +verbosity:4 option
  4104. ---------------------------------------
  4105.  
  4106.  
  4107. 7.2.1 dvihplj
  4108. -------------
  4109.  
  4110. At the end of each page: <a+b,c,d>
  4111.  
  4112. a       is the memory used for fonts
  4113.  
  4114. b       is the memory used for this page
  4115.  
  4116. c       is the number of fonts defined so far
  4117.  
  4118. d       is the number of fonts used on this page
  4119.  
  4120.  
  4121. 7.2.2 All drivers
  4122. -----------------
  4123.  
  4124. At the end of the program the memory usage, for example
  4125.  
  4126.     page buffers            4       40024
  4127.  
  4128. This means that 4 page buffers using a total of 40024 bytes were used.
  4129. This memory usage table will also be printed (without +verbosity:4) if
  4130. there is not enough memory.
  4131.  
  4132.  
  4133. 7.3 Return codes (ERRORLEVEL)
  4134. -----------------------------
  4135.  
  4136. The following return codes are passed to the parent process:
  4137.  
  4138. 0       No errors
  4139.  
  4140. 1       Bad argument
  4141.  
  4142. 2       Bad \special command
  4143.  
  4144. 8       Fonts are to be generated
  4145.  
  4146. 9       Error (dvidrv.exe program)
  4147.  
  4148. 100     Not enough memory
  4149.  
  4150. 101     Not enough memory or disk space
  4151.  
  4152. 200     Bad DVI file
  4153.  
  4154. 201     Bad font file or font not found
  4155.  
  4156. 202     Bad graphics file or graphics file not found
  4157.  
  4158. 203     Bad VF file
  4159.  
  4160. 204     Other error
  4161.  
  4162. 254     Internal error
  4163.  
  4164. You can use IF ERRORLEVEL in batch files to check the return code.
  4165.  
  4166.  
  4167. 7.4 Known bugs
  4168. --------------
  4169.  
  4170. Old versions of DR-DOS 5.0 will not allow output directly to a paral-
  4171. lel port (for example, PRN) -- you must use option +xon-xoff:on (use
  4172. the BIOS for output) together with LPT1 to LPT4, or COM1 to COM4.
  4173.  
  4174. There seems to be a bug in the Video 7 PM driver which causes dvipm to
  4175. abort.
  4176.  
  4177. Virtual fonts currently cannot reference themselves directly or indi-
  4178. rectly at a different size.
  4179.  
  4180. dvipm doesn't reclaim all memory when opening a new DVI file.  If
  4181. dvipm runs out of memory after opening several DVI files, restart
  4182. dvipm.
  4183.  
  4184.  
  4185. 8 Installation of the printer drivers and the screen previewers
  4186. ===============================================================
  4187.     Unpack the betatest package as follows:
  4188.  
  4189.         c:
  4190.         cd \
  4191.         unzip -o a:dvid15f1
  4192.         unzip -o a:dvid15f2
  4193.  
  4194.     or
  4195.  
  4196.         pkunzip -d -o a:dvid15f1 c:\
  4197.         pkunzip -d -o a:dvid15f2 c:\
  4198.  
  4199.     This example assumes that dvid15f1.zip and dvid15f2.zip are on the
  4200.     diskette in drive A: and that emTeX is installed on drive C:.
  4201.  
  4202. 1.  As dvimsp has been replaced with dvidot, you should delete
  4203.     \emtex\dvimsp.exe, \emtex\msp*.bat and \emtex\msp*.cmd.
  4204.  
  4205.     Some files have been moved from the \emtex directory to
  4206.     \emtex\data.  Therefore, you should delete the following files in
  4207.     \emtex: *.cnf, *.dot, *.sub, dvidrv.err, fontlist.
  4208.  
  4209.     If you are using non-standard DOT files, you have to use
  4210.  
  4211.         makedot -c filename.ext
  4212.  
  4213.     to recreate them from the text files.
  4214.  
  4215.     If you are using your own batch files, please note that dvidrv.exe
  4216.     is no longer used under OS/2.
  4217.  
  4218. 2.  If you have got font diskettes, copy the fonts to the disk.  For
  4219.     example, to install them on drive c: do as follows:
  4220.  
  4221.         md c:\texfonts
  4222.         copy a:*.fli c:\texfonts
  4223.  
  4224.     The last line has to be repeated for all suitable font diskettes.
  4225.     The fonts should if possible not be put into a directory under
  4226.     \emtex, in order to simplify the installation of a new version
  4227.     of emTeX (that is, without having to copy the fonts again to the
  4228.     disk).
  4229.  
  4230. 3.  If you don't have fonts or if you don't have all required fonts,
  4231.     install METAFONT and MFjob, i.e., packages MF and MFWARE.  Missing
  4232.     fonts will be generated automatically when required.  MFjob 1.1m
  4233.     or later is required.  See section 4.4, `Generating missing fonts
  4234.     automatically with MFjob and METAFONT'.
  4235.  
  4236. 4.  The following environment variables should be set:
  4237.  
  4238.     DVIDRVINPUT
  4239.             search path for dvi files
  4240.  
  4241.     DVIDRVFONTS
  4242.             search path for fli files
  4243.  
  4244.     DVIDRVGRAPH
  4245.             search path for graphics files
  4246.  
  4247.     EMTEXDIR
  4248.             the emTeX directory
  4249.  
  4250.     For example, this can be done by
  4251.  
  4252.         set dvidrvinput=c:\mytex;c:\emtex\doc;c:\emtex\doc\english
  4253.         set dvidrvfonts=c:\texfonts
  4254.         set dvidrvgraph=c:\mytex;c:\emtex\doc
  4255.         set emtexdir=c:\emtex
  4256.  
  4257.     Note that the environment variables should not contain whitespace.
  4258.     When using `Cut & Paste' blanks may sneak in at the end of the
  4259.     lines.
  4260.  
  4261.     The directories c:\emtex\doc\english (DVIDRVINPUT) and
  4262.     c:\emtex\doc (DVIDRVGRAPH) are used for printing the dvidrv
  4263.     manual.
  4264.  
  4265.     All these lines should be put in the file autoexec.bat (config.sys
  4266.     for OS/2).  \emtex\set-tex.bat or \emtex\set-tex.cmd can be used
  4267.     as models, or modified and called by autoexec.bat.  If you don't
  4268.     want to set the environment variables (or if you cannot), you have
  4269.     to insert the desired directories into the configuration files
  4270.     (*.cnf) after renaming.
  4271.  
  4272. 5.  To use dviscr under OS/2 or if you use dvipm and want the VGA or
  4273.     8514/A palette to be modified for better gray scaling, you should
  4274.     insert the line
  4275.  
  4276.         IOPL=YES
  4277.  
  4278.     into config.sys (unless already done).  If you don't need the
  4279.     spooler of OS/2 1.x, you should disable it.  Under OS/2 2.x,
  4280.     you can tell the spooler to print while receiving data from an
  4281.     application program.  This setting is recommended.
  4282.  
  4283.     Several OS/2 environment variables (and the value of LIBPATH)
  4284.     should be supplemented in config.sys.  This is done by appending
  4285.     the additional pathname to the end of the appropriate line of
  4286.     config.sys, separated with a semicolon from the previous value.  A
  4287.     semicolon at the end of the line is optional.
  4288.  
  4289.     The HELP environment variable should be supplemented with
  4290.     \emtex\help for dvipm on-line help.  The HELP environment variable
  4291.     must be set in config.sys.  Example:
  4292.  
  4293.         SET HELP=C:\OS2\HELP;C:\EMTEX\HELP
  4294.  
  4295.     Moreover, you should supplement the BOOKSHELF environment variable
  4296.     with \emtex\book\english to be able to view the dvidrv on-line
  4297.     documentation by typing
  4298.  
  4299.         view dvidrv
  4300.  
  4301.     Example:
  4302.  
  4303.         SET BOOKSHELF=C:\OS2\BOOK;C:\EMTEX\BOOK\ENGLISH
  4304.  
  4305.     To use dvipm, the files dvipmres.dll, emdll1x.dll, emdll1x2.dll,
  4306.     emdll2x.dll and emx.dll must be in a directory specified by the
  4307.     LIBPATH entry in config.sys.  Add c:\emtex\dll (insert the correct
  4308.     drive letter) to LIBPATH.  Example:
  4309.  
  4310.         LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;C:\EMTEX\DLL
  4311.  
  4312.     When using OS/2 1.x, you should modify vp.cmd to run dvipm16.exe
  4313.     (or dvipm167.exe to take advantage of the numeric coprocessor if
  4314.     you have one) instead of dvipm.exe.
  4315.  
  4316.     Reboot to make the changes to config.sys take effect.
  4317.  
  4318. 6.  Now the following batch files can be used:
  4319.  
  4320.     v       screen previewer (dviscr)
  4321.  
  4322.     vs      screen previewer (dviscrs)
  4323.  
  4324.     vp      screen previewer for Presentation Manager (dvipm)
  4325.  
  4326.     prthplj
  4327.             printer driver (dvihplj: HP LaserJet+, 300 DPI)
  4328.  
  4329.     prthpljh
  4330.             printer driver (dvihplj: HP LaserJet IV, 600 DPI)
  4331.  
  4332.     prtp6l  printer driver (dvidot p6l: P6 with 180 DPI)
  4333.  
  4334.     prtp6m  printer driver (dvidot p6m: P6 with 360x180 DPI)
  4335.  
  4336.     prtp6h  printer driver (dvidot p6h: P6 with 360 DPI)
  4337.  
  4338.     prtfx   printer driver (dvidot fx80: EPSON FX-80)
  4339.  
  4340.     prtfxl  printer driver (dvidot fx80l: EPSON FX-80, draft)
  4341.  
  4342.     prtlql  printer driver (dvidot lql: EPSON LQ, 180 DPI)
  4343.  
  4344.     prtlqm  printer driver (dvidot lqm: EPSON LQ, 360x180 DPI)
  4345.  
  4346.     prtlqh  printer driver (dvidot lqh: EPSON LQ, 360 DPI).  Note: not
  4347.             all LQ printers support 360 DPI
  4348.  
  4349.     prtsty  printer driver (dvidot sty800: EPSON Stylus 800)
  4350.  
  4351.     prtitoh
  4352.             printer driver (dvidot itoh: C.ITOH 8510A)
  4353.  
  4354.     prtaiw  printer driver (dvidot aiw: Apple Imagewriter)
  4355.  
  4356.     pcxlj   create graphics files (parameters: lj.cnf)
  4357.  
  4358.     pcxp6l  create graphics files (parameters: p6l.cnf)
  4359.  
  4360.     pcxp6m  create graphics files (parameters: p6m.cnf)
  4361.  
  4362.     pcxp6h  create graphics files (parameters: p6h.cnf)
  4363.  
  4364.     pcxfx   create graphics files (parameters: fx.cnf)
  4365.  
  4366.     pcxito  create graphics files (parameters: ito.cnf)
  4367.  
  4368.     If you have a version of DOS prior to 3.3, then you should change
  4369.     the first line of these batch files from
  4370.  
  4371.         @echo off
  4372.  
  4373.     to
  4374.  
  4375.         echo off
  4376.  
  4377.     The batch files v.cmd, v.bat and vs.bat are preconfigured to use
  4378.     the configuration file lj.cnf (LJ fonts).  vp.cmd is preconfigured
  4379.     to use the configuration file p6l.cnf (P6L fonts).  To use a
  4380.     different configuration file, change the batch files or give the
  4381.     name of the configuration file on the command line, for instance:
  4382.  
  4383.         v @p6l.cnf mytext
  4384.  
  4385.     If you don't have the correct fonts for a printer driver, you can
  4386.     in some cases (marked * in the following table) use other fonts by
  4387.     scaling these.  This results in some loss of quality.  When using
  4388.     dviscr or dvipm, better enable gray scaling.  Example: Use
  4389.  
  4390.         @p6m.cnf +zoom-x:2
  4391.  
  4392.     instead of
  4393.  
  4394.         @p6l_p6m.cnf
  4395.  
  4396.     for dviscr and dvipm.  The following configuration files are
  4397.     available:
  4398.  
  4399.         File name    │ Resolution │ Fonts │ Font resolution
  4400.         ─────────────┼────────────┼───────┼────────────────
  4401.         bj.cnf       │    360     │  BJ   │      360
  4402.         fax.cnf      │  204x196   │  FAX  │    204x196
  4403.         fx.cnf       │  240x216   │  FX   │    240x216
  4404.         ito.cnf      │  160x144   │  ITO  │    160x144
  4405.         lj.cnf       │    300     │  LJ   │      300
  4406.         ljh.cnf      │    600     │  LJH  │      600
  4407.         mxl_fx.cnf   │  120x72    │  FX   │    240x216
  4408.         p6h.cnf      │    360     │  P6H  │      360
  4409.         p6l.cnf      │    180     │  P6L  │      180
  4410.         p6l_p6h.cnf *│    180     │  P6H  │      360
  4411.         p6l_p6m.cnf *│    180     │  P6M  │    360x180
  4412.         p6m.cnf      │  360x180   │  P6M  │    360x180
  4413.         p6m_p6h.cnf *│  360x180   │  P6H  │      360
  4414.  
  4415.     The configuration files marked * use scaled fonts, see
  4416.     +font-scaling.
  4417.  
  4418.     To use the executables which exploit the numeric coprocessor, add
  4419.     the character `7' to the program name used in the batch files.
  4420.     To use the coprocessor version of dviscr, for instance, replace
  4421.     dviscr with dviscr7 in v.bat (or v.cmd).  Of course that won't
  4422.     work unless there is in fact a coprocessor (such as 8087 and
  4423.     80387) installed in your computer.
  4424.  
  4425. 7.  Adjust the margins.  Refer to the description of the +left-margin
  4426.     and +top-margin options for the method for adjusting margins.  You
  4427.     should insert the settings into the appropriate batch files, not
  4428.     into the configuration files as the margins depend on the printer
  4429.     not on the fonts.
  4430.  
  4431. 8.  If you are using a NEC P7, EPSON FX-100 or another wide printer,
  4432.     change the batch files prt*.cmd and prt*.bat for the bigger paper
  4433.     width.  Replace fx80 with fx100, replace p6l, p6m and p6h with
  4434.     p7l, p7m and p7h, respectively, replace lql, lqm and lqh with
  4435.     lqwl, lqwm and lqwh, respectively.
  4436.  
  4437. 9.  To print the dvidrv manual, install the DVIDRVMA package and read
  4438.     the instructions in dvidrvma.doc.  Warning: Do not print the
  4439.     manual, it's entirely out of date.
  4440.  
  4441. 10. After moving and resizing the dvipm windows, save the settings.
  4442.  
  4443.  
  4444. 9 Explanation of warning and error messages
  4445. ===========================================
  4446.  
  4447. When you get the error message `[cannot open dvidrv.err]', the file
  4448. dvidrv.err (which contains the messages) couldn't be found.  You'll
  4449. find the text of the message in this list using the message number
  4450. produced by the driver.
  4451.  
  4452.  
  4453. 9.1 Warning messages
  4454. --------------------
  4455.  
  4456. If the verbosity, see +verbosity, is set to a lower number than that
  4457. given in brackets, then that warning message will be suppressed.
  4458.  
  4459. If the warning message is marked with [F] then the warning is sup-
  4460. pressed when the option +font-load-limit:-1 is chosen.
  4461.  
  4462. If the warning message has a driver name in brackets then it applies
  4463. only to that driver.
  4464.  
  4465. #1 and #2 stand for variable fields in the message.
  4466.  
  4467. All warning messages have the format
  4468.  
  4469.     Warning 1xxx: ...
  4470.  
  4471. In the following only the number and the message are given.
  4472.  
  4473. 1000: argument `#1' of option `#2' is not a valid number
  4474.  
  4475.     The numeric argument #1 of the option #2 is not valid for the op-
  4476.     tion or an unacceptable size is given in response to a prompt for
  4477.     a font file name.
  4478.  
  4479. 1001: invalid number or unit of measure in argument `#1' of option `#2'
  4480.  
  4481.     The argument #1 of the option #2 is an illegal number or the unit
  4482.     is not acceptable.  Note that you have to enter units using lower
  4483.     case letters.
  4484.  
  4485. 1002: argument `#1' of option `#2' is too long
  4486.  
  4487. The argument #1 of the option #2 is too long.
  4488.  
  4489. 1005: argument `#1' of option `#2' is not a valid page number
  4490.  
  4491. The argument of +first-page or +last-page isn't acceptable.
  4492.  
  4493. 1008: ambiguous option: #1. Matching options are:
  4494.  
  4495.     The input #1 is ambiguous: there is more than one option matching
  4496.     your input #1.  A list of all matching options is displayed.
  4497.  
  4498. 1009: unknown option: #1
  4499.  
  4500. The option #1 does not exist.
  4501.  
  4502. 1010: argument `#1' of option `#2' is not a valid unit of measure
  4503.  
  4504.     The option +unit or +ruler-unit is given with an unacceptable or
  4505.     misspelt unit, #1.  Acceptable units are pt, pc, in, bp, cm, mm,
  4506.     dd, cc, sp and px.  You have to use lower case letters.
  4507.  
  4508. 1016: output file name ignored due to error in input file name
  4509.  
  4510.     The input file was not found.  To avoid the output file name to be
  4511.     taken as input file name, the output file name has been ignored.
  4512.  
  4513. 1017: too many file names: `#1'
  4514.  
  4515.     There are too many arguments which do not begin with `-', `+' or
  4516.     `/' and are therefore taken to be file names.  Depending on the
  4517.     driver, only 1 or 2 file names can be given.  You can give 1 file
  4518.     name for the previewers (dviscr, dvivik and dvipm).  You can give
  4519.     1 or 2 file names for the printer drivers dvidot and dvihplj.
  4520.     Note that you must not insert blank spaces between the name of an
  4521.     option and the argument of that option.
  4522.  
  4523. 1018: input file `#1' not found: #2
  4524.  
  4525.     The DVI file #1 cannot be found.  DVI files are sought using the
  4526.     template set with the +dvi-file option.  The default (without
  4527.     using a configuration file) is to search the current working di-
  4528.     rectory.  The configuration files that come with dvidrv cause DVI
  4529.     files to be sought in the current working directory and in all
  4530.     directories listed in the DVIDRVINPUT environment variable.  #2
  4531.     gives the reason for the failure to open the file.
  4532.  
  4533. 1019: cannot create output file `#1'
  4534.  
  4535.     The output file cannot be opened: the file name is invalid, the di-
  4536.     rectory doesn't exist or you don't have write access to the direc-
  4537.     tory or the output file already exists and has read-only mode.
  4538.  
  4539. 1020: template too long
  4540.  
  4541.     The template argument to an option is too long.  Templates may
  4542.     contain up to 127 characters.
  4543.  
  4544. 1021: missing template
  4545.  
  4546.     A template must be given to some options.  Note that you must not
  4547.     insert blanks between an option and its argument.
  4548.  
  4549. 1022 environment variable `#1' contains whitespace
  4550.  
  4551.     The value of the environment variable #1 contains space or tab
  4552.     characters.  To avoid problems, you should edit the SET statement
  4553.     used for setting that environment variable.
  4554.  
  4555. 1023: cannot nest response files
  4556.  
  4557.     A response file cannot contain calls to other response files.
  4558.  
  4559. 1024: response file `#1' not found
  4560.  
  4561.     The @responsefile cannot be found.  Response files are sought
  4562.     using the template set with the +response-files option.  The de-
  4563.     fault is to search the current working directory and the `data'
  4564.     subdirectory of the emTeX directory.  Set the EMTEXDIR environment
  4565.     variable to define the emTeX directory, which is `\emtex' by de-
  4566.     fault.  There is no default extension for response files.  Note
  4567.     that the configuration files that come with the drivers have names
  4568.     ending in `.cfg'.
  4569.  
  4570. 1025: argument `#1' of option `#2' is invalid
  4571.  
  4572.     The argument #1 of option #2 is not valid.
  4573.  
  4574. 1026: +section-count overrides +section-size
  4575.  
  4576.     If both +section-count and +section-size are used with a non-zero
  4577.     value and the values don't match, +section-count takes precedence
  4578.     over +section-size.
  4579.  
  4580. 1100: preamble data doesn't match postamble data:                          [2]
  4581.       pre.#1=#2, post.#1=#3
  4582.  
  4583.     The value #1 in the preamble differs from the value in the
  4584.     postamble.  Has somebody been meddling with this DVI file? The
  4585.     value given in the preamble will be used.
  4586.  
  4587. 1200: checksum does not match                                            [2,F]
  4588.       font file #1: #2
  4589.       input file #3: #4
  4590.  
  4591.     The font file #1 does not match the TFM file.
  4592.  
  4593. 1201: wrong design size                                                  [2,F]
  4594.       font file #1: #2
  4595.       input file #3: #4
  4596.  
  4597.     The font file #1 does not match the TFM file.
  4598.  
  4599. 1202: wrong magnification                                                [2,F]
  4600.       font file #1: #2
  4601.       input file #3: #4
  4602.  
  4603.     The font file #1 does not match the TFM file.
  4604.  
  4605. 1203: character #1: pixel width off by #2                                [3,F]
  4606.  
  4607.     The width of the character #1 (decimal) differs from the width
  4608.     calculated from the TFM file by more than 3, namely by #2 (always
  4609.     a signed number).  If #2 is positive then the pixel width is the
  4610.     larger, if #2 is negative then the TFM width is the larger.  This
  4611.     warning appears usually when the font file does not match the TFM
  4612.     file used by TeX, in particular, when the font is loaded with the
  4613.     wrong magnification.
  4614.  
  4615. 1204: `#1' is not a usable font file                                       [3]
  4616.  
  4617.     In searching for a font file, the file #1 has been found.  This
  4618.     file, however, does not look like a font file.  After issuing the
  4619.     warning, the next step in the search, described above, is taken.
  4620.  
  4621. 1205: font #1 [#2] not found
  4622.  
  4623.     No suitable file for font #1 can be found.  For further
  4624.     explanation see `Font search rules'.  See also the installation
  4625.     instructions.
  4626.  
  4627. 1206: +batch-mode: font #1 replaced by #2                                  [1]
  4628.  
  4629.     While +batch-mode was active, font file #2 has been used for font
  4630.     #1 as a suitable file cannot be found.
  4631.  
  4632. 1207: cannot open font library file `#1'
  4633.  
  4634.     A font library file (see +font-libraries option) could not be
  4635.     found.  Maybe you have given too many names (be careful with
  4636.     $env:!).
  4637.  
  4638. 1208: font #1 replaced by #2 (deviation: #3%)                               [1]
  4639.  
  4640.     The size of font #1 has been replaced by the closest available
  4641.     font size by applying +font-size-tolerance and +font-sizes.  The
  4642.     deviation of size is #3%.
  4643.  
  4644. 1209: do you want to call MFjob to generate #1 missing fonts now?
  4645.  
  4646.     #1 have been marked to be generated.  You can choose to call MFjob
  4647.     and METAFONT to generate those fonts, but that can take some time.
  4648.     To generate the fonts, type Y.  To view or print the document
  4649.     using replaced fonts, type N.  To get a list of the fonts to be
  4650.     generated, type ?.
  4651.  
  4652. 1210: #1 is not a usable TFM file
  4653.  
  4654.     The file #1 is not a TFM file.
  4655.  
  4656. 1211: font #1 not loaded -- output will be distorted
  4657.  
  4658.     Font #1 was not loaded as /d has been given for that font in a
  4659.     font substitution file or as you have entered /d.  The positions
  4660.     of other objects are wrong because characters from this font are
  4661.     omitted entirely.
  4662.  
  4663. 1212: TFM file for font `#1' not found
  4664.  
  4665.     You have told the driver to use TFM files and the driver could
  4666.     not find a TFM file for font #1.  The word space parameter, which
  4667.     is used for rounding pixel positions, will be estimated by the
  4668.     driver.  See +tfm-files and +use-tfm-files.
  4669.  
  4670. 1213: font file `#1': PXL file formats are obsolete, use PK instead
  4671.  
  4672.     As the PXL file formats are obsolescent, you should use PK files
  4673.     instead of PXL files.  If you have the METAFONT sources for the
  4674.     font or can otherwise recreate the font with GFtoPK, you should do
  4675.     so.  Use PXtoPK only if there is no other way for creating a PK
  4676.     file for the font.
  4677.  
  4678. 1300: `#1' is not a usable graphics file
  4679.  
  4680.     When searching for a graphics file, the file #1 has been found.
  4681.     This file is, however, not a valid graphics file.  After this
  4682.     warning has been issued, the search will continue according to the
  4683.     rules described above.
  4684.  
  4685. 1301: graphics file #1 (graph #2; #3 DPI) not found
  4686.  
  4687.     The graphics file #1 cannot be found -- the command is
  4688.     \special{em:graph #2}.
  4689.  
  4690. 1302: graph #1 omitted                                                     [1]
  4691.  
  4692.     The picture #1 is not printed because you have entered /d.
  4693.  
  4694. 1303: +batch-mode: graphics file #1 (#2 DPI) not found                     [1]
  4695.  
  4696.     The graphics file #1 with a resolution of #2 DPI was not found and
  4697.     -- due to +batch-mode -- omitted.
  4698.  
  4699. 1400: undefined point: #1
  4700.  
  4701.     The point #1 is not defined though it is used in
  4702.     \special{em:line}.  Define all points used in \special{em:line}
  4703.     commands.
  4704.  
  4705. 1401: duplicate point number: #1
  4706.  
  4707.     The point #1 has been declared more than once in a
  4708.     \special{em:point #1}.  Point numbers have to be unique for each
  4709.     page.
  4710.  
  4711. 1402: bad line omitted: #1,#2
  4712.  
  4713.     The line with the endpoints #1 and #2 cannot be drawn.  For in-
  4714.     stance, horizontal lines cut horizontally cannot be drawn.
  4715.  
  4716. 1403: missing moveto
  4717.  
  4718.     A \special{em:lineto} has appeared without a preceding
  4719.     \special{em:moveto}.
  4720.  
  4721. 1500: printer not ready. R)etry or A)bort?
  4722.  
  4723.     The printer is not ready.  Type an `A' to abort the run, `R' to
  4724.     try again after fixing the problem (for instance, lack of paper).
  4725.     (Used only with +xon-xoff:on and LPT1 to LPT4.)
  4726.  
  4727. 1501: 1 warning message was not displayed in graphics mode     [dviscr,dvivik]
  4728. 1502: 1 warning message was not displayed in graphics mode, see #2
  4729. 1503: #1 warning messages were not displayed in graphics mode
  4730. 1504: #1 warning messages were not displayed in graphics mode, see #2
  4731.  
  4732.     There were #1 warning messages while the display was in graphics
  4733.     mode.  Please check the transcript file #2 for warning messages.
  4734.  
  4735.  
  4736. 9.2 Fatal errors (2xxx)
  4737. -----------------------
  4738.  
  4739. All fatal errors have the format
  4740.  
  4741.     *** Fatal error 2xxx: ...
  4742.  
  4743. In the following only the number and ... will be shown.
  4744.  
  4745. 2000: out of memory
  4746.  
  4747. There is not enough memory to run.  Further information is given
  4748. showing how much memory was used by what.  In some cases, this error
  4749. can be prevented by using +font-load-limit:-1.
  4750.  
  4751. 2001: cannot open #1 file `#2'
  4752.  
  4753.     File #2 not found.
  4754.  
  4755. 2002: cannot create file `#1'
  4756.  
  4757.     The file cannot be opened: the file name is invalid, the directory
  4758.     doesn't exist or you don't have write access to the directory or
  4759.     the output file already exists and has read-only mode.
  4760.  
  4761. 2003: cannot write to file `#1'
  4762.  
  4763.     While writing to #1 an error was noted; a possible reason for this
  4764.     error is that the disk is full.  If #1 is a device such as PRN,
  4765.     see help.eng for help.
  4766.  
  4767. 2004: invalid scale factor
  4768.  
  4769.     A font or virtual font is bad.
  4770.  
  4771. 2005: cannot use XON/XOFF flow control
  4772.  
  4773.     XON/XOFF flow control cannot be used as the port does not exist.
  4774.  
  4775. 2006: serial interface time-out
  4776.  
  4777.     When using the XON/XOFF flow control, 60 seconds has elapsed since
  4778.     an XOFF was received without an XON.
  4779.  
  4780. 2007: out of string space
  4781.  
  4782.     Internal table overflow, no remedy possible (besides trying to
  4783.     print the text in smaller chunks).
  4784.  
  4785. 2008: cannot open temporary file `#1'
  4786.  
  4787.     The drivers use (due to lack of memory) a temporary file, which
  4788.     couldn't be opened.  Change the TMP environment variable.
  4789.  
  4790. 2009: temporary file write error (disk full?)
  4791.  
  4792.     Out of disk space for temporary file or some other problem.  By
  4793.     setting the TMP environment variable move the temporary file to a
  4794.     drive with enough storage space.
  4795.  
  4796. 2010: printer not ready, aborted by user
  4797.  
  4798.     You entered `A' after receiving warning 1500.
  4799.  
  4800. 2011: cannot read from console
  4801.  
  4802.     You have started the driver (under OS/2) using detach or you have
  4803.     entered Ctrl-Z or the driver cannot read from standard input for
  4804.     another reason.
  4805.  
  4806. 2012: out of virtual memory
  4807.  
  4808.     More virtual memory is required than the driver can manage.
  4809.  
  4810. 2013: cannot read file `#1'
  4811.  
  4812.     An error occurred while reading file #1.
  4813.  
  4814. 2014: cannot make book due to missing or wrong parameters
  4815.  
  4816.     If +page-list-file is used, +section-count and +section-size
  4817.     must not be used.  If +section-count or +section-size are used,
  4818.     +columns must have an even value.
  4819.  
  4820. 2015: recursive search: too many directories
  4821.  
  4822.     The number of directories which can be handled by the drivers for
  4823.     the ! and !! suffixes in environment variables used by $ENV: in
  4824.     templates is limited.  That limit has been exceeded.
  4825.  
  4826. 2100: corrupt DVI file (undefined font)
  4827. 2101: corrupt DVI file (no font selected)
  4828. 2102: corrupt DVI file (DVI file ended prematurely)
  4829. 2103: corrupt DVI file (position stack overflow)
  4830. 2104: corrupt DVI file (position stack underflow)
  4831. 2105: corrupt DVI file (bad postamble)
  4832. 2106: corrupt DVI file (postamble not found)
  4833. 2107: corrupt DVI file (illegal command in postamble)
  4834. 2108: input file is not a DVI file
  4835. 2109: corrupt DVI file (unexpected set_char command)
  4836. 2110: corrupt DVI file (unexpected fnt_num command)
  4837. 2111: corrupt DVI file (unexpected bop command)
  4838. 2112: corrupt DVI file (unexpected eop command)
  4839. 2113: corrupt DVI file (unexpected rule command)
  4840. 2114: corrupt DVI file (unexpected motion command)
  4841. 2116: corrupt DVI file (unexpected post_post command)
  4842. 2117: corrupt DVI file (unexpected pre command)
  4843. 2118: corrupt DVI file (invalid command)
  4844. 2119: corrupt DVI file (back pointer does not point to bop)
  4845. 2120: corrupt DVI file (more pages than claimed in postamble)
  4846.  
  4847.     Bad DVI file.
  4848.  
  4849. 2121: character number #1 out of range
  4850.  
  4851.     An attempt is being made to set a character with a code outside
  4852.     the acceptable range (0-255).
  4853.  
  4854. 2122: page too complex
  4855.  
  4856.     A side may contain up to 65536 objects (characters, rules, lines,
  4857.     pictures).  You have succeeded in exceeding this limit.
  4858.  
  4859. 2124: too many points
  4860.  
  4861.     You have exceeded the maximum number of \special{em:point},
  4862.     \special{em:moveto}, or \special{em:lineto} commands per page.
  4863.  
  4864. 2125: too many lines
  4865.  
  4866.     You have exceeded the maximum number of \special{em:line},
  4867.     \special{em:moveto}, or \special{em:lineto} commands per page.
  4868.  
  4869. 2126: IVD files not supported yet
  4870.  
  4871.     The current version of the drivers cannot handle IVD files.  Use
  4872.     ivd2dvi to convert the IVD file into a DVI file.  Alternatively,
  4873.     use TeX--XeT instead of TeX-XeT.
  4874.  
  4875. 2131: erroneous \special{#1}: undefined keyword
  4876.  
  4877.     After `em:' there is a unknown keyword in \special argument #1.
  4878.  
  4879. 2132: erroneous \special{#1}: bad parameter
  4880.  
  4881.     The \special declaration #1 an unacceptable parameter (for in-
  4882.     stance, \special{em:point 0}).
  4883.  
  4884. 2200: +batch-mode: font #1 not found
  4885.  
  4886.     If +batch-mode is active and when a font cannot be found after all
  4887.     the search rules have been tried, the program terminates with this
  4888.     message.
  4889.  
  4890. 2201: font file error PK01
  4891. 2202: font file error PK02
  4892. 2203: font file error PK03
  4893. 2204: font file error PK04
  4894.  
  4895.     Bad PK font file.
  4896.  
  4897. 2205: font #1 too big (#2 characters)
  4898.  
  4899.     This font has too many characters.
  4900.  
  4901. 2206: character number #1 not supported
  4902.  
  4903.     This version of the driver can only handle character codes from
  4904.     0 to 255; a character with a code outside this range has been
  4905.     encountered.
  4906.  
  4907. 2207: font file `#1' ended prematurely
  4908.  
  4909.     Bad font file: too short!
  4910.  
  4911. 2208: font file `#1' disappeared
  4912.  
  4913.     The font file #1 cannot be opened although it was there initially.
  4914.     Perhaps the diskette has been swapped.
  4915.  
  4916. 2209: undefined character #1 in font #2
  4917.  
  4918.     Trying to use a character which is not in the font file.
  4919.  
  4920. 2210: character too big
  4921.  
  4922.     A character is too big.
  4923.  
  4924. 2211: character too big for scaling
  4925.  
  4926.     A character is too big to scale (!)
  4927.  
  4928. 2213: `#1' is not a font library file
  4929.  
  4930.     The file selected by the option +font-libraries is not a font li-
  4931.     brary file.
  4932.  
  4933. 2214: use `fontlib /2 /b#1 #2' to convert font library
  4934.  
  4935.     The font library file #2 must be converted to the new font
  4936.     library format by using fontlib.  You should also use the
  4937.     /f\emtex\data\fontlist option when running fontlib.  The batch
  4938.     file newfonts.bat and newfonts.cmd can be used for converting all
  4939.     the font libraries.
  4940.  
  4941. 2215: cannot run MFjob, error code=#1
  4942.  
  4943.     The driver cannot run mfjob.exe.
  4944.  
  4945. 2216: MFjob failed
  4946.  
  4947.     MFjob reported an error.
  4948.  
  4949. 2217: cannot handle more than 255 fonts
  4950.  
  4951.     The number of fonts is limited to 255.
  4952.  
  4953. 2220: TFM file `#1' corrupted
  4954.  
  4955.     The TFM file #1 is bad.
  4956.  
  4957. 2301: graphics file `#1' ended prematurely
  4958.  
  4959.     Bad graphics file: too short!
  4960.  
  4961. 2302: graphics image too big
  4962.  
  4963.     The picture is too wide.
  4964.  
  4965. 2303: graphics image too big for scaling
  4966.  
  4967.     The picture is too big to scale (!)
  4968.  
  4969. 2400: syntax error in font substitution file `#1', line #2
  4970.  
  4971.     Line #2 in the font substitution file #1 has an error.
  4972.  
  4973. 2401: missing parameter file name                                     [dvidot]
  4974.  
  4975.     dvidot expects the name of a parameter file as its first argument.
  4976.  
  4977. 2402: parameter file `#1' not found                                   [dvidot]
  4978.  
  4979.     dvidot cannot find the parameter file #1.  The first argument on
  4980.     the command line must be the name of a parameter file.
  4981.  
  4982. 2403: invalid parameter file (#1)                                     [dvidot]
  4983.  
  4984.     #1 is a number showing the type of error found.
  4985.  
  4986. 2404: incompatible parameter file, use makedot to convert             [dvidot]
  4987.  
  4988.     The parameter file cannot be used with this version of dvidot.
  4989.     Use makedot for converting the parameter file.  See makedot.doc
  4990.     for details.
  4991.  
  4992. 2405: expression evaluation stack overflow                            [dvidot]
  4993.  
  4994.     Bad parameter file: there's too complex an arithmetic expression.
  4995.  
  4996. 2406: cannot compute checksum beyond end of header                    [dvidot]
  4997.  
  4998.     Bad parameter file: the checksum has to be computed for bytes
  4999.     outside the header.
  5000.  
  5001. 2407: output file doesn't allow random access                         [dvidot]
  5002.  
  5003.     Computing the checksum requires reading the output file.
  5004.     Therefore you cannot send output to a device.
  5005.  
  5006. 2408: cannot read output file                                         [dvidot]
  5007.  
  5008.     There was an error while reading the output file for computing the
  5009.     checksum.
  5010.  
  5011. 2409 cannot perform vertical motion (#1 dots)                         [dvidot]
  5012.  
  5013.     An attempt was made to perform a finer vertical motion than
  5014.     allowed by the parameter file's value of VMU=.  This should not
  5015.     happen because makedot rejects invalid settings of VMU=.
  5016.  
  5017. 2410: invalid page dimensions
  5018.  
  5019.     The values of +width or +height are too small or too big.
  5020.  
  5021. 2501: printer memory overflow                                        [dvihplj]
  5022.  
  5023.     Calculation shows that the printer's memory is now full.  Set the
  5024.     +memory option to the correct value or split the text into smaller
  5025.     pieces.  (+clear-fonts:1 may help.)
  5026.  
  5027. 2502: too many fonts per side                                        [dvihplj]
  5028.  
  5029.     There are more fonts required on this page than the printer can
  5030.     handle -- split up the text or use +clear-fonts:1.  You can use
  5031.     the +fonts-per-side option to set the number of fonts per side
  5032.     supported by your printer or to disable checking the number of
  5033.     fonts per side.
  5034.  
  5035. 2503: too many fonts                                                 [dvihplj]
  5036.  
  5037.     There are more fonts required in the text than the printer can
  5038.     handle -- split up the text or use +clear-fonts:1.  You can turn
  5039.     off checking the number of fonts by using the +fonts-per-side:0 op-
  5040.     tion.
  5041.  
  5042. 2504: value field in pcl: specification too long
  5043.  
  5044.     The maximum length for a PCL font selection string in a font
  5045.     substitution file has been exceeded.
  5046.  
  5047. 2511: page width exceeds #1px
  5048.  
  5049.     The width of the page set by the +width option may not exceed
  5050.     (converted) #1 px.
  5051.  
  5052. 2520: graphics mode not supported                                     [dviscr]
  5053.  
  5054.     There is no graphics adapter card or the card present is not
  5055.     supported by this driver.  Perhaps the graphics adapter card is
  5056.     supported by dviscr but dviscr doesn't correctly identify the
  5057.     card.  Please try to tell dviscr about the adapter type by using
  5058.     the +adapter option (for instance, +adapter:16 for a VGA with a
  5059.     color display).
  5060.  
  5061. 2602: corrupt VF file (premature end of DVI commands)
  5062. 2604: corrupt VF file (stack underflow)
  5063. 2608: corrupt VF file (bad preamble)
  5064. 2611: corrupt VF file (unexpected bop command)
  5065. 2612: corrupt VF file (unexpected bop command)
  5066. 2616: corrupt VF file (unexpected post_post command)
  5067. 2617: corrupt VF file (unexpected pre command)
  5068. 2618: corrupt VF file (invalid command)
  5069. 2621: corrupt VF file (unexpected fnt_def command)
  5070. 2622: corrupt VF file (unexpected post command)
  5071. 2643: corrupt VF file (invalid command)
  5072.  
  5073.     Bad VF file.
  5074.  
  5075. 2603: VF file too complex: stack overflow
  5076.  
  5077.     A virtual font can use a further virtual font which can, in its
  5078.     turn, use a further virtual font, and so on.  This error message
  5079.     is issued when this nesting is excessive or is in an endless loop.
  5080.  
  5081. 2640: input stack overflow
  5082.  
  5083.     A virtual font can use a further virtual font which can, in its
  5084.     turn, use a further virtual font, and so on.  This error message
  5085.     is issued when this nesting is excessive or is in an endless loop.
  5086.  
  5087. 2641: input stack underflow
  5088.  
  5089.     Bad VF file.
  5090.  
  5091. 2644: character number #1 out of range
  5092.  
  5093.     A character code in a VF file is unacceptable.
  5094.  
  5095. 2645: virtual font #1 too big (#2 characters)
  5096.  
  5097.     The virtual font #1 contains too many characters.
  5098.  
  5099. 2701: #1(#2): syntax error in page list file
  5100.  
  5101.     There's a syntax error in line #2 of file #1 given by
  5102.     +page-list-file.
  5103.  
  5104. 2702: #1(#2): page index out of range
  5105.  
  5106.     A page index given in line #2 of file #1 given by +page-list-file
  5107.     is too small or too big.
  5108.  
  5109.  
  5110. 9.3 Internal errors (3xxx)
  5111. --------------------------
  5112.  
  5113. All internal errors have the format
  5114.  
  5115.     *** Internal error 3xxx
  5116.  
  5117. or
  5118.  
  5119.     *** Internal error 3xxx: ...
  5120.  
  5121. If an internal error occurs, please tell the author.  Please make
  5122. copies of all files in use (DVI, MSP, PXL, PK, FLI, VF, SUB, log
  5123. files) and make a copy of the error message.  Please also make a note
  5124. of the arguments used.
  5125.  
  5126.  
  5127. 10 History
  5128. ==========
  5129.  
  5130. Items marked with `***' are VERY IMPORTANT!
  5131.  
  5132.  
  5133. Version 1.4e (internal)
  5134. -----------------------
  5135.  
  5136. -   The number of objects on a page now limited to 65536 (this reduces the
  5137.     number available under OS/2 but increases the number under DOS).
  5138.  
  5139. *** Temporary file, environment variable TMP.
  5140.  
  5141. -   New warnings and error messages (dvidrv.err changed).
  5142.  
  5143. -   Error message when there are too many lines corrected (\special).
  5144.  
  5145. -   Warning 1203 now appears only when there is a difference of at least
  5146.     4.
  5147.  
  5148. -   dvivik repaired.
  5149.  
  5150. -   %r, %s and width (1..8) as well as $r and $s:
  5151.       {%$}[<width>]<item>         (but see 1.4f)
  5152.  
  5153. -   dvihplj: /pi* truncated Esc sequence (corrected).
  5154.  
  5155. -   dvihplj: /2p double sided (on LaserJet IIID), also with /nf# and /np#.
  5156.  
  5157. -   dvivik: scrolling (if it doesn't work: /!400).
  5158.  
  5159. -   dviscr: EGA monochrome mode now works with 64KB EGA.
  5160.  
  5161. -   /n#, /k#, /nf#, /np#: range extended to 65535.
  5162.  
  5163. -   Up to 65535 input pages (was 1364).
  5164.  
  5165. -   Ends in line input if Ctrl-z is input or the process is detached.
  5166.  
  5167.  
  5168. Version 1.4f (internal)
  5169. -----------------------
  5170.  
  5171. *** Options /pf, /pl, /pi, /p@, /pg and /pv now use templates instead of
  5172.     lists of directories.
  5173.  
  5174. *** @r and @Vr replace $r and $s, possibilities extended.
  5175.  
  5176. *** Argument evaluation can no longer accept environment variables in the
  5177.     form %env%, so templates now include $env:
  5178.  
  5179. -   Comments beginning with % can now only appear at the beginning of an
  5180.     argument, that is, at the beginning of a line or after a space
  5181.     character.
  5182.  
  5183. -   dvidot can now handle more than one VF directory (was an error)
  5184.  
  5185. *** Default value for /pf* changed: now \texfonts instead of \emtex.
  5186.  
  5187. *** Font searching completely rewritten.
  5188.  
  5189. -   Missing font libraries now cause a warning message rather than a fatal
  5190.     error with program termination.
  5191.  
  5192. *** DOT files brought into line with the new /pf* syntax.
  5193.  
  5194. *** CNF files brought into line with the new /pf*, /pd*, /pg* and /pl*
  5195.     syntax.
  5196.  
  5197. -   The page numbers on /b* and /e* were somewhat limited, limit removed.
  5198.  
  5199. -   ':' and ':=' can now be used with /b* and /e*.
  5200.  
  5201. -   /fdx# and /fdy# for different vertical and horizontal max_drift
  5202.     depending on the transformation.
  5203.  
  5204. -   /rf0 and /rg0 now possible, enabling /r# take over.
  5205.  
  5206. -   dviscr/dvivik: /fd1 is now the default instead of /fd2.
  5207.  
  5208. -   /mh is now the same as /m1095.445115, not /m1095
  5209.  
  5210. *** Templates for /po*, /pt* and /pw* (only the first expansion used).
  5211.  
  5212. *** Templates for /pi* and /ps*, more than one file now possible.
  5213.  
  5214. -   Minor small errors (with unknown effects) removed.
  5215.  
  5216.  
  5217. Version 1.4g (internal)
  5218. -----------------------
  5219.  
  5220. -   Problem (introduced in version 1.4f) with input longer than default
  5221.     value for +height, /w#, /la# and /ta# fixed.
  5222.  
  5223. -   Note: definition of @s changed.
  5224.  
  5225. -   Date in transcript file fixed (defective since version 1.4f).
  5226.  
  5227. -   LOG_NAME= in all DOT files changed from `dvidot' to `dvidot.dlg'
  5228.     (defective since version 1.4f).
  5229.  
  5230.  
  5231. Version 1.4h (internal)
  5232. -----------------------
  5233.  
  5234. -   DVI files using font numbers greater than 127 could not be processed
  5235.     (message 2100).  Fixed.
  5236.  
  5237. *** Support for DOS switch character.
  5238.  
  5239. -   dviscr: gray scaling with /oa5 now possible.
  5240.  
  5241. -   CNF files: /pg* changed.
  5242.  
  5243.  
  5244. Version 1.4i (internal)
  5245. -----------------------
  5246.  
  5247. -   /pg* default setting fixed.
  5248.  
  5249. -   The checksum in the header of a MSP file will be ignored.
  5250.  
  5251. -   `I' in templates replaced by `T'.
  5252.  
  5253.  
  5254. Version 1.4j (internal)
  5255. -----------------------
  5256.  
  5257. -   dviscr: relative sheet number with <G>.
  5258.  
  5259. -   EMTEXSWCHAR environment variable.
  5260.  
  5261. -   dvihplj: problem with PCX files fixed.
  5262.  
  5263. -   \special{em:point} syntax extended.
  5264.  
  5265. -   New previewer: dvipm for OS/2 Presentation Manager.
  5266.  
  5267.  
  5268. Version 1.4k (internal)
  5269. -----------------------
  5270.  
  5271. -   dvipm: closing the message window stopped dvipm.  Fixed.
  5272.  
  5273. -   dvipm: Zoom dialog.
  5274.  
  5275. -   dvipm: menus improved.
  5276.  
  5277. -   dvipm: Edit menu: Reverse.
  5278.  
  5279. -   dvipm: Search menu: Find text.
  5280.  
  5281. -   dvipm: Search menu: Again.
  5282.  
  5283. -   Bug in options parser fixed.
  5284.  
  5285. -   New option: /ft# (font size tolerance).
  5286.  
  5287. *** Options renamed:
  5288.  
  5289.         /2* -> /d*    double-sided printing
  5290.         /+  -> /oi-   black on white
  5291.         /-  -> /oi+   white on black
  5292.         /p@ -> /pr*   template for response files
  5293.  
  5294.  
  5295. Version 1.4l (internal)
  5296. -----------------------
  5297.  
  5298. -   \special{em:graph} can insert BMP files.
  5299.  
  5300. -   Several bugs (of version 1.4k) in options parser fixed.
  5301.  
  5302. *** `:', `=' or `:=' must be used between an option and its value.
  5303.  
  5304. *** /oc# option of dviscr temporarily disabled.
  5305.  
  5306.  
  5307. Version 1.4m (internal)
  5308. -----------------------
  5309.  
  5310. -   /oc# option of dviscr enabled (see 1.4l).
  5311.  
  5312. -   `:', `=' or `:=' not required between an option and its value (see 1.4l).
  5313.  
  5314. -   Further bugs in options parser fixed.
  5315.  
  5316. -   Long names for options (not documented yet).
  5317.  
  5318. -   Error messages fixed (bug introduced in version 1.4j).
  5319.  
  5320. -   dvihplj: problem with PCX files fixed.
  5321.  
  5322. -   dviscr: <F5> and <F6> for selecting previous / next page.
  5323.  
  5324. -   Searching fonts in FLI files fixed (bug introduced in version 1.4k).
  5325.  
  5326. -   dviscr speeded up for /ox:1 and /ox:6.
  5327.  
  5328. *** New rounding algorithms, please thoroughly check positioning of
  5329.     characters and rules, report problems as soon as possible.
  5330.  
  5331. -   dvidot/dvihplj: pause for changing paper (/op+).
  5332.  
  5333. -   dvidot/dvihplj: close output file after n sheets (/os#).
  5334.  
  5335. -   dvipm: File menu: Print page (not tested).
  5336.  
  5337. -   dvipm: File menu: Change printer.
  5338.  
  5339. -   dvipm: window titles fixed.
  5340.  
  5341. -   dvipm: unavailable transformations are grayed (View menu).
  5342.  
  5343. -   dvipm: choosing View->Select now correctly deselects the previous
  5344.     selection.
  5345.  
  5346. -   dvipm: Cancel buttons in (almost) all dialogs.
  5347.  
  5348. -   dvipm: action bar in Message window.
  5349.  
  5350. -   dvipm: only one entry in task list.
  5351.  
  5352. -   dvipm: hourglass mouse pointer while building a page or searching
  5353.     for text.
  5354.  
  5355. -   dvipm: Find page by number fixed.
  5356.  
  5357. -   dvipm: when starting dvipm, the View window will be selected.
  5358.  
  5359. -   dvipm: Ctrl+PageUp and Ctrl+PageDn fixed.
  5360.  
  5361. -   dvipm: Ctrl+Arrow keys to move by 8 units.
  5362.  
  5363. -   dvipm: two icons in the title bar: previous page, next page.
  5364.  
  5365. -   dvipm: scroll bar problems fixed.
  5366.  
  5367. -   dvipm: Status window.
  5368.  
  5369. -   dvipm: gray scaling.
  5370.  
  5371. -   dvipm: window positions saved by dvipm 1.4k or older will be ignored.
  5372.  
  5373. -   dvipm: restore position of Input window.
  5374.  
  5375. -   dvipm: save and restore settings of `track' choices.
  5376.  
  5377. -   dvipm: menus restructured.
  5378.  
  5379. -   dvipm: View menu: Home.
  5380.  
  5381. -   dvipm: /hx#, /hy#.
  5382.  
  5383.  
  5384. Version 1.4n (internal)
  5385. -----------------------
  5386.  
  5387. *** @r in templates now inserts a decimal fraction; use @Rr to round to an
  5388.     integer.
  5389.  
  5390. *** dvimsp has been replaced by dvidot.
  5391.  
  5392. *** Old DOT files must be converted by calling `makedot -r <filename>'.  The
  5393.     DOT files coming in the DVIDRV package can be used without conversion.
  5394.     See makedot.doc.
  5395.  
  5396. *** The new option /cs# must be used for `changing margins'.
  5397.  
  5398. *** New /ft# default value: 0.2.
  5399.  
  5400. *** The format of the text format of dvidot parameter files has changed.  See
  5401.     makedot.doc
  5402.  
  5403. *** New emdll1x.dll, don't forget to replace old version!
  5404.  
  5405. -   Long names for options.  The names are preliminary.
  5406.  
  5407. -   /ft# for PK and PXL files.
  5408.  
  5409. -   /fz* (available font sizes).
  5410.  
  5411. -   Check version number in dvidrv.err.
  5412.  
  5413. -   Templates implemented completely.
  5414.  
  5415. -   dvimsp (that is dvidot now): bug fixed (empty sheets with /om+ didn't
  5416.     work).
  5417.  
  5418. -   dvipm: Minimize/Restore problems fixed.
  5419.  
  5420. -   dvipm: Quit pushbutton in Input dialog.
  5421.  
  5422. -   dvipm: Font dialog.
  5423.  
  5424. -   dvipm: Image dialog.
  5425.  
  5426. -   dvipm: Open dialog.
  5427.  
  5428. -   dvipm: Options menu.
  5429.  
  5430. -   dvipm: /oi+, /og#.
  5431.  
  5432. -   dvipm: bugs fixed (View->Home with scaling, changing scale while
  5433.     computing).
  5434.  
  5435. -   dvipm: the page will be centered in the View window if the page is
  5436.     smaller than the View window.
  5437.  
  5438. -   dvipm: background color settable.
  5439.  
  5440. -   dviscr & dvipm: <F7> and <F8> for selecting previous / next page
  5441.     (instead of <F5> and <F6>).
  5442.  
  5443. -   Bug fixed: file names were not truncated to 8.3 (since what version?).
  5444.  
  5445. -   Missing fonts can be generated automatically with MFjob 1.1i or later.
  5446.  
  5447. -   \special{em:graph} does no longer ignore the directory part of the
  5448.     file name (I think since 1.4f).
  5449.  
  5450. -   dvidot: double-sided printing with /d:p.
  5451.  
  5452.  
  5453. Version 1.4o (internal)
  5454. -----------------------
  5455.  
  5456. *** dvihplj: /od+ and /ok+ replaced with +deskjet, +kyocera and +laserjet.
  5457.  
  5458. *** Short form of +pause renamed /oa+.
  5459.  
  5460. *** New emdll1x.dll, don't forget to replace old version!
  5461.  
  5462. *** Additional DLL: emdll1x2.dll
  5463.  
  5464. -   dvidrv.exe fixed.
  5465.  
  5466. -   TFM files can now be read, see +tfm-files.
  5467.  
  5468. -   Replacing characters with black rectangles (scaling active) fixed.
  5469.  
  5470. -   dviscr/dvivik: display W in the status line when there are warnings
  5471.     while in graphics mode.
  5472.  
  5473. -   Use EMS under DOS, see +use-ems.
  5474.  
  5475. -   Slightly more lines per sheet possible.
  5476.  
  5477. -   dvihplj: new options: +full-page-bitmap, +optimize-graphics,
  5478.     +compression, +negative-top-offset.
  5479.  
  5480. -   Bug fixed: -x and -y was ignored with long form of options.
  5481.  
  5482. -   dviscr: VGA monochrome now works under DOS.
  5483.  
  5484. -   dvipm: the next/prev page icons in the title bar have been
  5485.     improved (for VGA).
  5486.  
  5487. -   dvipm: accelerators in dialog boxes.
  5488.  
  5489. -   dvipm: modify VGA palette.
  5490.  
  5491. -   dvipm: Minimizing problem with Workplace Shell fixed.
  5492.  
  5493. -   dvipm: in rare cases, some pixels at the right hand side of rules
  5494.     were wrong.
  5495.  
  5496. -   dvipm: collapse subsequent requests for page recomputing.
  5497.  
  5498. -   dvipm: Select/Copy problems fixed.
  5499.  
  5500.  
  5501. Version 1.4p (internal)
  5502. -----------------------
  5503.  
  5504. -   Screen output of dviscr with color EGA/VGA without gray scales was
  5505.     defective since version 1.4o.  Fixed.
  5506.  
  5507. -   Use XMS under DOS, see +use-xms.
  5508.  
  5509. -   When aborting a driver by pressing Ctrl-C or typing A)bort in response to
  5510.     an error message, the temporary file will be deleted and EMS and XMS
  5511.     memory will be deallocated.
  5512.  
  5513. -   dvihplj: new option: +fonts-per-page.
  5514.  
  5515. -   New dvidot parameter file: bmpos2 for creating OS/2 1.1 BMP files.
  5516.  
  5517. -   You can use OS/2 1.1 BMP files with \special{em:graph}.
  5518.  
  5519. -   dviscr: VGA monochrome may work now under OS/2.
  5520.  
  5521. -   dvidot: parameter files lq* fixed (INIT1, INIT2).
  5522.  
  5523. -   dvipm: save open/close state of Message and Status windows with
  5524.     settings.
  5525.  
  5526. -   dvipm: the position and size of the windows saved by dvipm 1.4o or
  5527.     older will not be restored by dvipm 1.4p or later.  Move and
  5528.     resize the windows and save the settings again.
  5529.  
  5530. -   dvipm: printing only possible with gray scaling and reduction disabled.
  5531.  
  5532. -   dvipm: font and Image dialog boxes fixed (bug introduced in
  5533.     version 1.4o).
  5534.  
  5535. -   dvipm: another minimizing problem with Workplace Shell fixed.
  5536.  
  5537.  
  5538. Version 1.4q (internal)
  5539. -----------------------
  5540.  
  5541. *** When prompted for a font name, you have to enter `/b' and `/w' instead
  5542.     of `b' and `w'.
  5543.  
  5544. *** When prompted for a font name, you can give multiple values in one
  5545.     line of input.  The font will be sought after parsing the line of
  5546.     input.
  5547.  
  5548. *** emdll1x.dll and emdll1x2.dll have been moved from \emtex to \emtex\dll.
  5549.     Please change the LIBPATH statement in your config.sys file.  emdll1x.dll
  5550.     has been changed, don't forget to replace the old version!
  5551. -   dvihplj: +reset renamed +initial-reset.  New: +final-reset.
  5552.  
  5553. -   The drivers should be faster now, however inserting graphics files and
  5554.     using big characters is slower.
  5555.  
  5556. -   Memory management bug fixed.
  5557.  
  5558. -   Rounding problem in MFjob call fixed.
  5559.  
  5560. -   dvidrv.exe didn't append \ to the value of TMP if required.
  5561.  
  5562. -   dvihplj: +paintjet, +quietjet and +thinkjet (not tested).
  5563.  
  5564. -   dvihplj: +delete-fonts (not tested).
  5565.  
  5566. -   Omit characters (/d).
  5567.  
  5568. -   Replace characters by rectangle outlines (/r).
  5569.  
  5570. -   Omit graphics files (+omit-graphics and /d when prompted for name).
  5571.  
  5572. -   Font search sequence for +batch-mode changed.
  5573.  
  5574. -   dvidot and dvihplj: +initial-formfeed and +final-formfeed.
  5575.  
  5576. -   Replacing a font size by the closest available font size now takes
  5577.     place before seeking the font (see +font-size-tolerance).  The
  5578.     replacement is done immediately before and after applying the rules
  5579.     from the font substitution files.
  5580.  
  5581. -   +max-drift is set in the configuration files.
  5582.  
  5583. -   Option +use-tfm-files for using TFM files.
  5584.  
  5585. -   dvihplj: +compression fixed.
  5586.  
  5587. -   dvipm: please delete \emtex\help\dvipm.hlp.
  5588.  
  5589. -   dvipm: help is now also available partly in German.
  5590.  
  5591. -   dvipm: display page number and index in Status window while
  5592.     searching for text.
  5593.  
  5594. -   dvipm: Page index optional in Status window.
  5595.  
  5596. -   dvipm: default window positions and sizes.
  5597.  
  5598. -   dvipm: tried to fix a palette problem.
  5599.  
  5600. -   dvipm: display cursor position in Status window, +ruler-unit
  5601.     command line option.
  5602.  
  5603. -   dvipm: to make restoring the dvipm windows behave correctly after
  5604.     minimizing under OS/2 2.0 6.177 (LA) it was necessary to make
  5605.     restoring windows behave incorrectly under older revisions of OS/2
  5606.     2.0.
  5607.  
  5608. -   dvipm: preliminary implementation of the ruler.
  5609.  
  5610. -   dvipm: the page icons in the title bar can be disabled with a
  5611.     command line option.
  5612.  
  5613. -   21-Feb-1992 (still 1.4q): parsing of font substitution files fixed.
  5614.  
  5615. -   25-Feb-1992 (still 1.4q): Options->Other of dvipm fixed (error message for
  5616.     Ruler unit).
  5617.  
  5618.  
  5619. Version 1.4r (11-Apr-1992)
  5620. --------------------------
  5621.  
  5622. *** Options renamed:
  5623.  
  5624.     +first-sheet         -> +first-page
  5625.     +last-sheet          -> +last-page
  5626.     +skip-sheets         -> +skip-sides
  5627.     +number-of-sheets    -> +number-of-sides
  5628.     +sub-pages-per-sheet -> +sub-pages-per-side
  5629.  
  5630. *** New terms: `page', `side', `sheet'.
  5631.  
  5632. -   dvipm now works under OS/2 1.2.
  5633.  
  5634. -   You can now use TFM files with less than 6 font parameters, as they
  5635.     are generates, for instance, by bm2font.
  5636.  
  5637. -   `input [dvidrv];' is now inserted into the MFjob job file.
  5638.  
  5639. -   dvipm: icons in the view.transform menu.
  5640.  
  5641.  
  5642. Version 1.4s (04-Nov-1992)
  5643. --------------------------
  5644.  
  5645. *** New version of emdll1x.dll and emdll1x2.dll.  If you have copied
  5646.     these files from \emtex\dll to another directory, you should copy
  5647.     the new versions now.
  5648.  
  5649. *** dvidrv.exe is no longer used under OS/2.  If you are using your own
  5650.     *.cmd files, please remove `dvidrv' from those batch files.
  5651.  
  5652. -   \emtex\doc\dvipm.doc no longer exists -- please delete old copies.
  5653.  
  5654. -   dvihplj: +font-scaling fixed.
  5655.  
  5656. -   dviscr, dvipm, dvivik: searching for page number fixed (for
  5657.     non-trivial page selection).
  5658.  
  5659. -   dvipm: Options->Files dialog fixed.
  5660.  
  5661. -   dvipm: Page->First, Page->Last.
  5662.  
  5663. -   dvipm: display page number in title bar.
  5664.  
  5665. -   dvipm: stack overflow message fixed.
  5666.  
  5667. -   dvipm: View menu changed.
  5668.  
  5669. -   dvipm: Status window optionally on top of other dvipm windows.
  5670.  
  5671. -   dvipm: zoom problems fixed.
  5672.  
  5673. -   dvipm: File->New.
  5674.  
  5675. -   dvipm: Drag & drop.
  5676.  
  5677. -   dvipm: move ruler to text after finding text.
  5678.  
  5679. -   \special{em:graph xxx}: ignore everything after comma.
  5680.  
  5681. -   MFjob call with +font-resolution:0 fixed.
  5682.  
  5683. -   New template parameter: @u.
  5684.  
  5685. -   Rounding problems in MFjob call fixed.
  5686.  
  5687. -   New dvidot parameter file: bj10eh.dot.
  5688.  
  5689. -   +pause fixed.
  5690.  
  5691. -   dvihplj: +printer-resolution.
  5692.  
  5693.  
  5694. Version 1.5a (09-Apr-1994)
  5695. --------------------------
  5696.  
  5697. *** File names which are too long are truncated according to the 5+3.3 rule,
  5698.     that is, the first 5 characters and the last 3 characters of the base name
  5699.     and the first 3 characters of the extension are taken.  lcirclew10.pk, for
  5700.     instance, is transformed into lcircw10.pk.  Under OS/2, the drivers
  5701.     attempt to open a file using the long file name, first.  Then, the
  5702.     truncated file name is used.  Under DOS, only the truncated file name is
  5703.     tried.  If the file is not found, the 8.3 rule is applied after the 5+3.3
  5704.     rule, that is, the first 8 characters of the base name and the first 3
  5705.     characters of the extension are taken.
  5706.  
  5707. *** $ENV: in templates now supports ! and !! for recursive search of
  5708.     subdirectories.
  5709.  
  5710. *** New version of emdll1x.dll and emdll1x2.dll.  If you have copied these
  5711.     files from \emtex\dll to another directory, you should copy the new
  5712.     versions now.  There are three new dynamic link libraries: emdll2x.dll,
  5713.     dvipmres.dll and emx.dll.
  5714.  
  5715. *** dvipm.exe is now a 32-bit program; the 16-bit version has been renamed to
  5716.     dvipm16.exe.  Please delete \emtex\dvipm32.exe.
  5717.  
  5718. *** The settings saved by previous dvipm versions are not loaded.  To delete
  5719.     the old settings, do the following:
  5720.  
  5721.         Files->Settings->Save
  5722.         Files->Settings->Remove
  5723.         Files->Settings->Save
  5724.  
  5725. *** +font-files can now be used to read VF files.  +virtual-fonts is needed
  5726.     only if you want to replace existing fonts with VF files.
  5727.  
  5728. *** The +double-sided:printer option (/dp) has been renamed +double-sided:long
  5729.     (/dl).  +double-sided:short (/ds) has been added.
  5730.  
  5731. *** The /np# option has been renamed /ns#.
  5732.  
  5733. *** New method for arranging pages on a sheet.  The following options have
  5734.     been removed:
  5735.  
  5736.         +first-sub-page
  5737.         +show-sub-pages
  5738.         +sub-page-index
  5739.         +sub-page-slots
  5740.         +sub-page-x
  5741.         +sub-page-y
  5742.         +sub-pages-per-side
  5743.  
  5744.     The following options have been added:
  5745.  
  5746.         +backside-offset-x
  5747.         +backside-offset-y
  5748.         +blank-pages
  5749.         +columns
  5750.         +fold-other
  5751.         +full-last-section
  5752.         +page-height
  5753.         +page-list-file
  5754.         +page-shift
  5755.         +page-width
  5756.         +rows
  5757.         +section-count
  5758.         +section-size
  5759.  
  5760. *** The meaning of the +left-margin and +top-margin options has been changed.
  5761.     The +adjust-left-margin and +adjust-top-margin options no longer exist.
  5762.     The +page-left-margin and +page-top-margin options have been added.
  5763.  
  5764. *** Option +graphic-files renamed to +graphics-files.
  5765.  
  5766. *** The .DOT files of previous beta test versions can no longer be used with
  5767.     dvidot 1.5a.  makedot cannot directly convert between the format used by
  5768.     previous beta test versions and the new format: You have to recreate your
  5769.     own .DOT files from the text files.
  5770.  
  5771. *** New directory structure: *.cnf, *.dot, *.sub files, dvidrv.err and
  5772.     fontlist have been moved to \emtex\data.  The environment variable
  5773.     EMTEXDIR can be used to tell the drivers where to find that directory.
  5774.     $EMTEX: is used in templates to specify the emTeX directory.  $PATH: is no
  5775.     longer used.
  5776.  
  5777. *** dvihplj: Replace +deskjet, +kyocera, +laserjet, +paintjet, +quietjet and
  5778.     +thinkjet with +printer-model.
  5779.  
  5780. *** dvipm: The +inverse option is no longer available; the setting of the
  5781.     Reverse menu option is saved with the settings, instead.
  5782.  
  5783. *** Font substitution files are now also sought in the `data' subdirectory of
  5784.     the emTeX directory; the default extension is .sub.
  5785.  
  5786. -   When seeking a font, the drivers try all known sizes which are within the
  5787.     font size.
  5788.  
  5789. -   Support long file and blanks in file names under OS/2.  To enter a file
  5790.     name which contains blanks, enclose it in double quotes: `test file.dvi'.
  5791.  
  5792. -   dvipm: File->New closes the DVI file.  Really.
  5793.  
  5794. -   dvipm: `What dialog' renamed `Status Window Options'.
  5795.  
  5796. -   dvipm: Display information on an object in the View window double
  5797.     clicking on the object.
  5798.  
  5799. -   dvipm: +titlebar-icons (/ot+) option removed.
  5800.  
  5801. -   dvipm: Internal error 3028 when switching DVI files removed.
  5802.  
  5803. -   dvipm: Several palette problems fixed.  8514/A palette can now be changed.
  5804.  
  5805. -   dvipm: Fonts are reused when opening a new DVI file.
  5806.  
  5807. -   dvipm: File->Reload tries to keep the selected page.
  5808.  
  5809. -   dvipm: Automatic reloading of the DVI file if it is changed by another
  5810.     program.
  5811.  
  5812. -   dvipm: Additional pushbuttons in the Font dialog.
  5813.  
  5814. -   dvipm: Print all the pages.
  5815.  
  5816. -   dvipm: Support display modes with more than 16383 colors (65536 colors,
  5817.     for instance).
  5818.  
  5819. -   dvipm: +gray-bitmap-size (/og#) replaced with +bitmap-memory-limit (/om#).
  5820.     The default value is 512, that is, 512 Kbytes will be used for temporary
  5821.     bitmaps.  Therefore, much less memory is used now.
  5822.  
  5823. -   dvipm: The meaning of the Ctrl key has been reversed for the arrow keys:
  5824.     move by 8 pixels without Ctrl, by 1 pixel with Ctrl.
  5825.  
  5826. -   dvipm: Obey +magnification when loading another DVI file.
  5827.  
  5828. -   dvipm: New Information window which shows information about the DVI file.
  5829.     (Quite preliminary.)
  5830.  
  5831. -   dvipm: The background colors are now set in the View Options dialog box.
  5832.  
  5833. -   dvipm.exe is now a 32-bit program; the 16-bit version has been renamed to
  5834.     dvipm16.exe.
  5835.  
  5836. -   dvihplj: The +printer-resolution:600 option now switches the printer to
  5837.     600 DPI mode and selects 1/600in as unit of measure.
  5838.  
  5839. -   dvihplj: Characters at the left margin are no longer omitted.
  5840.  
  5841. -   dvihplj: +fonts-per-page option renamed +fonts-per-side.
  5842.  
  5843. -   dvihplj: Disable checking of number of fonts per page and number of fonts
  5844.     per job if +fonts-per-side:0 is used.
  5845.  
  5846. -   dvihplj: Support built-in fonts.
  5847.  
  5848. -   dvihplj: `=> pcl:' in font substitution files.
  5849.  
  5850. -   dvihplj: \special{em:pclfile ...}
  5851.  
  5852. -   dvihplj: New options: +download-limit and +paper.
  5853.  
  5854. -   dvihplj: Clip graphics and rules to avoid omission by the printer.
  5855.  
  5856. -   dvihplj: New +draft option for saving toner.
  5857.  
  5858. -   dvihplj: Support the HP DeskJet 500J.
  5859.  
  5860. -   dvidot: New option: +final-reset.
  5861.  
  5862. -   dvidot: New parameter files: fx80l, fx100l, sty800 and bj300h.
  5863.  
  5864. -   dvidot now supports printers where the graphics resolution exceeds the
  5865.     resolution of paper motion.
  5866.  
  5867. -   dviscr: Under OS/2, dviscr now automatically treat an SVGA as VGA.
  5868.  
  5869. -   dviscr: +adapter:20 added (Adapter Interface, 8514/A).
  5870.  
  5871. -   New configuration files: ljh.cnf (600 DPI with LJH fonts), bj.cnf (360 DPI
  5872.     for Canon BubbleJet printers).
  5873.  
  5874. -   New batch files: prthpljh.cmd and prthpljh.bat for the HP LaserJet
  5875.     IV at 600 DPI.
  5876.  
  5877. -   New METAFONT mode in local.mf and modes.mfj: canonbj.
  5878.  
  5879. -   Internal error 3028 while reading VF files fixed.
  5880.  
  5881. -   New options: +page-list-file, +section-count and +section-size.
  5882.  
  5883. -   Don't display warning message 1201 for DVI files created by groff.
  5884.  
  5885. -   Big characters can now be transformed (rotated).
  5886.  
  5887. -   Add +call-mfjob option (/fj+).  Under OS/2, this option is used to
  5888.     disable the automatic call of MFjob.
  5889.  
  5890. -   texput.dvi is no longer used if the answer to the question for an input
  5891.     file is empty.
  5892.  
  5893. -   \special{em:message} has been removed.
  5894.  
  5895. -   The dvidrv documentation is now available as OS/2 on-line book.
  5896.  
  5897.  
  5898. Version 1.5b (21-Jun-1994)
  5899. --------------------------
  5900.  
  5901. -   Executables which exploit the numeric coprocessor are now included.
  5902.  
  5903. -   For +font-load-limit:-1, dvihplj 1.5a used TFM files for missing fonts
  5904.     even if the TFM files were not for built-in printer fonts.
  5905.  
  5906. -   dvihplj has new options for selecting the paper source: +source and
  5907.     +manual-feed.
  5908.  
  5909. -   Transformation of big characters with +transformation:3 or
  5910.     +transformation:6 caused internal errors or crashes.
  5911.  
  5912. -   dviscr did not accept the +ruler option.
  5913.  
  5914. -   dviscr did not completely suppress the status line for +status-line:off
  5915.  
  5916. -   Input and output now works even if running a driver under Emacs under
  5917.     OS/2.
  5918.  
  5919. -   Rules protruding over the top edge of the paper are no longer omitted in
  5920.     gray scaling mode; other objects, however, are still omitted.  This also
  5921.     applies to dvidot and dvihplj.
  5922.  
  5923. -   dvidot: TRAILER is now written at the end of the file.
  5924.  
  5925. -   dvipm: Pictures were sometimes mirrored.
  5926.  
  5927.  
  5928. Version 1.5c (22-Jul-1994)
  5929. --------------------------
  5930.  
  5931. -   Several bugs have been fixed.
  5932.  
  5933. -   Due to a bug, the directory ".." was not allowed in path names.
  5934.  
  5935. -   Files with names that contain two or more dots can no longer be read and
  5936.     written under DOS.
  5937.  
  5938. -   dvipm: Optionally reload all fonts when loading a DVI file; doing this is
  5939.     recommended after creating new font files with bm2font.
  5940.  
  5941. -   dvipm: File->Print_all_pages works now.
  5942.  
  5943. -   dvidrv.exe: Pass -pj:filename instead of -pj=filename to the program; this
  5944.     enables usage of batch files.
  5945.  
  5946.  
  5947. Version 1.5d (30-Aug-1994)
  5948. --------------------------
  5949.  
  5950. -   Warn about usage of PXL files.  The PXL file formats are obsolete.
  5951.  
  5952. -   Warn about whitespace in environment variables used by templates.
  5953.  
  5954. -   +backside-offset-x and +backside-offset-y are now also defined for
  5955.     +double-sided:even and +double-sided:odd.
  5956.  
  5957. -   dvipm: Ask for confirmation before printing when the printer resolution
  5958.     does not match the resolution used by dvipm.
  5959.  
  5960. -   dvipm: You can now copy from the Messages window to the clipboard.
  5961.  
  5962. -   dvipm: `Change printer' has been renamed to `Print options'.  There are
  5963.     new settings available.
  5964.  
  5965. -   dvipm: Several printing problems solved.
  5966.  
  5967. -   dvipm now checks whether the correct version of dvipmres.dll is installed.
  5968.  
  5969.  
  5970. Version 1.5e (01-Sep-1994)
  5971. --------------------------
  5972.  
  5973. -   dvidot 1.5d could not use old DOT files (created by makedot 1.2b or
  5974.     lower).
  5975.  
  5976. -   Gray scaling did not work in dvipm 1.5d.
  5977.  
  5978.  
  5979. Version 1.5f (14-Sep-1994)
  5980. --------------------------
  5981.  
  5982. -   The drivers no longer crash for `EMM386 FRAME=NONE'.
  5983.  
  5984. -   dvipm now switches to the original size and turns off reverse display for
  5985.     printing.
  5986.  
  5987. -   In dvipm, the Page Down and Page Up keys optionally display the next or
  5988.     previous, respectively, page when invoked at the end or beginning,
  5989.     respectively, of a page.
  5990.  
  5991. -   The Options menu of dvipm is now also available while a DVI file is
  5992.     loaded.
  5993.  
  5994. -   More printing problems of dvipm have been resolved.
  5995.  
  5996.  
  5997.                   -------- End of DVIDRV.DOC -------------
  5998.